使用具有RestKit(IOS)的force_load链接器标志(Using the force_l

2019-06-25 20:55发布

我使用了Facebook的iOS SDK中,AWS iOS SDK和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'

我不能使用-ObjCall-load ,因为这让我无法与Facebook和AWS建立连接标志。

有谁知道我应该如何设置我的连接标志,这样我可以同时使用所有3(FB,AWS,RestKit)? 谢谢!

Answer 1:

Chyeahh! 我想到了。 该标志应设置为

-force_load facebook-ios-sdk/lib/facebook-ios-sdk/libfacebook_ios_sdk.a -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a


Answer 2:

随着新的Facebook SDK 3.0适用于iOS的连接标志是比以前回答略有不同。 我只好把:

-force_load /path/to/FacebookSDK/FacebookSDK.framework/FacebookSDK -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a


Answer 3:

我挣扎与这一个过去。 可可豆荚似乎这里简化事情有点。 我的路径是这样的,我可以成功打造:

-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已经包括它在某种程度上...



文章来源: Using the force_load linker flag with RestKit (iOS)