Класс SSKeychain реализован как во фреймворке, так и в приложении iOS

#swift #cocoapods #sskeychain

#swift #cocoapods #sskeychain

Вопрос:

Мой подфайл:

 source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'

target 'xxx' do
  pod 'GooglePlaces'
  pod 'RSKImageCropper'
  pod 'AFNetworking', '~> 3.0'
  pod 'DZNEmptyDataSet'
  pod 'Base64', '~> 1.1.2'
  pod 'BGTableViewRowActionWithImage'
  pod 'Google/CloudMessaging'
  pod 'Google/Analytics'
  pod 'TYMProgressBarView'
  pod 'Fabric'
  pod 'Crashlytics'
  pod 'NestSDK'
end
  

введите описание изображения здесь

У меня есть это сообщение об ошибке в консоли :

objc[3645]: Класс SSKeychain реализован как в /System/Library/PrivateFrameworks/StoreServices.framework/StoreServices (0x1b27d32b0), так и в /var/containers/Bundle/Application/9A955CA3-9741-4867-9307- 0870BBD6CF08/xxx.app/xxx (0x10112eab8). Будет использоваться один из двух. Какой из них не определен.

Комментарии:

1. Вероятно, проблема в настройках вашего проекта, а не в ваших модулях. Может быть, вы включаете *.m файл в свой заголовок?

2. у меня нет SSKeychain.m в моем заголовке, у меня есть SSKeychain в моем модуле, но я его не устанавливал. я добавил картинку

Ответ №1:

В iOS 10 есть частный класс под названием SSKeychain. Вот почему вы получаете эту ошибку. Из-за этого он SSKeychain был переименован в SAMKeychain .

Поскольку вы неявно добавили SSKeychain его в свой Podfile , я полагаю, это зависимость от одного из других модулей, которые вы используете. Вы можете узнать это, посмотрев Podfile.lock . Как только вы нашли библиотеку, в которой есть эта зависимость, проверьте, был ли ее podspec уже обновлен для использования SAMKeychain вместо этого.