我按照以下步骤操作:https://github.com/ShareKit/ShareKit/wiki/Installing-sharekit安装Sharekit。但我仍面临一些错误。我不知道如何解决这个问题。
错误:
Undefined symbols for architecture i386:
"_ACAccountTypeIdentifierFacebook", referenced from:
+[FBSession renewSystemAuthorization] in libShareKit.a(FBSession.o)
"_ACFacebookAppIdKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_ACFacebookAudienceEveryone", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_ACFacebookAudienceFriends", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_ACFacebookAudienceKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_ACFacebookAudienceOnlyMe", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_ACFacebookPermissionsKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in libShareKit.a(FBSession.o)
"_OBJC_CLASS_$_ACAccountStore", referenced from:
objc-class-ref in libShareKit.a(FBSession.o)
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libShareKit.a(FBSettings.o)
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in libShareKit.a(FBNativeDialogs.o)
"_SLServiceTypeFacebook", referenced from:
+[FBNativeDialogs composeViewControllerWithSession:handler:] in libShareKit.a(FBNativeDialogs.o)
"_sqlite3_bind_double", referenced from:
-[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_bind_int", referenced from:
-[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_bind_text", referenced from:
-[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _readEntryFromDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _readEntriesFromDatabase:excludingFragment:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _removeEntryFromDatabaseForKey:] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_close", referenced from:
___23-[FBCacheIndex dealloc]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
"_sqlite3_column_double", referenced from:
-[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_column_int", referenced from:
-[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _fetchCurrentDiskUsage] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_column_text", referenced from:
-[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
"_sqlite3_errmsg", referenced from:
___23-[FBCacheIndex dealloc]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
_releaseStatement in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
_initializeStatement in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _readEntryFromDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _readEntriesFromDatabase:excludingFragment:] in libShareKit.a(FBCacheIndex.o)
...
"_sqlite3_exec", referenced from:
___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
"_sqlite3_finalize", referenced from:
_releaseStatement in libShareKit.a(FBCacheIndex.o)
"_sqlite3_open_v2", referenced from:
___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in libShareKit.a(FBCacheIndex.o)
"_sqlite3_prepare_v2", referenced from:
_initializeStatement in libShareKit.a(FBCacheIndex.o)
"_sqlite3_reset", referenced from:
_initializeStatement in libShareKit.a(FBCacheIndex.o)
"_sqlite3_step", referenced from:
-[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _writeEntryInDatabase:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _createCacheEntityInfo:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _fetchCurrentDiskUsage] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _removeEntryFromDatabaseForKey:] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _dropTrimmingTable] in libShareKit.a(FBCacheIndex.o)
-[FBCacheIndex _trimDatabase] in libShareKit.a(FBCacheIndex.o)
...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
需要一些指导如何解决这个问题...不胜感激任何帮助...
答案 0 :(得分:20)
我遇到同样的问题,使用新的Facebook SDK 3.0切换到ShareKit库。
您需要添加这些框架和库来解决错误:
Social.framework
AdSupport.framework
Accounts.framework
libsqlite3.dylib
答案 1 :(得分:3)
我认为删除其他链接器标志不是一个好主意。
请参阅linking objective-c categories in a static library和http://www.cocoanetics.com/2011/12/sub-projects-in-xcode/
新的Facebook SDK需要几个框架,不要忘记将它们添加到您的项目中:
答案 2 :(得分:2)
添加
<强> libsqlite3.dylib 强>
来自Xcode中项目的链接框架和库
答案 3 :(得分:0)
这最终对我有用:http://t2526.codeinpro.us/q/51501c3fe8432c042610dc68
从Xcode的Build设置中的其他链接器标志中删除-ObjC和-all_load。