Ответ 1
Chyeahh! Я понял. Флаги должны быть установлены как
-force_load facebook-ios-sdk/lib/facebook-ios-sdk/libfacebook_ios_sdk.a -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a
Я использую SDK для iOS для iOS, SDK для iOS AWS и RestKit. Чтобы заставить Facebook и AWS играть хорошо (были дубликаты символов), мне пришлось изменить другие флаги компоновщика на -force_load facebook-ios-sdk/lib/facebook-ios-sdk/libfacebook_ios_sdk.a
. Теперь я получаю эту ошибку, связанную с RestKit, когда я запускаю свое приложение:
2012-06-28 15: 55: 15.336 MyApp [1640: 707] - [__ NSCFString isIPAddress]: непризнанный селектор, отправленный в экземпляр 0x35f440
2012-06-28 15: 55: 15.338 MyApp [1640: 707] * Завершение приложения из-за неотображенного исключения "NSInvalidArgumentException", причина: '- [__ NSCFString isIPAddress]: непризнанный селектор, отправленный в экземпляр 0x35f440'
Я не могу использовать флаги компоновщика -ObjC
и all-load
, потому что это мешает мне создавать Facebook и AWS.
Кто-нибудь знает, как я должен установить флаги компоновщика, чтобы я мог использовать все 3 (FB, AWS, RestKit) вместе? Спасибо!
Chyeahh! Я понял. Флаги должны быть установлены как
-force_load facebook-ios-sdk/lib/facebook-ios-sdk/libfacebook_ios_sdk.a -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a
С новым Facebook SDK 3.0 для iOS флаги компоновщика немного отличаются от предыдущих. Мне пришлось поставить:
-force_load /path/to/FacebookSDK/FacebookSDK.framework/FacebookSDK -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a
Я боролся с этим в прошлом. Cocoa pods, похоже, немного упрощает ситуацию. Мой путь выглядит так, и я могу успешно построить:
-ObjC -l"Pods-AFNetworking" -l"Pods-AWSiOSSDKv2" -l"Pods-FMDB" -l"Pods-GZIP" -l"Pods-ISO8601DateFormatterValueTransformer" -l"Pods-Mantle" -l"Pods-RKValueTransformers" -l"Pods-Reachability" -l"Pods-RestKit" -l"Pods-SOCKit" -l"Pods-STTwitter" -l"Pods-SWRevealViewController" -l"Pods-TMCache" -l"Pods-TransitionKit" -l"Pods-UICKeyChainStore" -l"Pods-XMLDictionary" -l"sqlite3" -l"z" -framework "Accounts" -framework "CFNetwork" -framework "CoreData" -framework "CoreGraphics" -framework "Foundation" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "Twitter" -framework "UIKit" -weak_framework "Social" -weak_framework "UIKit"
Обратите внимание, что для устранения дублированных символов мне пришлось удалить ссылку ссылки ссылки на болты...
-l"Pods-Bolts"
. Я думаю, потому что Facebook уже включает его как-то...