bor*_*kur 19 cocoa-touch xcode4.2 facebook-ios-sdk
我刚刚将项目中的Facebook iOS SDK从3.0更新到3.1.该项目不再编译.相反,我得到以下链接器错误:
Undefined symbols for architecture i386:
"_ACFacebookAppIdKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceEveryone", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceFriends", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceOnlyMe", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookPermissionsKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in FacebookSDK(FBSettings.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
在Facebook的文档说清楚:
SDK依赖于其他三个框架(AdSupport,Accounts和Social)来使用iOS6中内置的Facebook功能.
Xcode 4.2中不存在这些框架.是否有任何解决方法,即我可以下载(在哪里?)并手动将框架添加到我的项目中,这是否足以摆脱编译错误或我是否必须升级到Xcode 4.5?
sob*_*bri 21
这些框架是iOS 6的一部分(嗯,除了AccountsiOS 5之外).如果没有升级到Xcode 4.5,那么你将无法使用它们,因此也就是iOS 6 SDK.
如果您担心这一点,您仍然可以将部署目标设置为iOS 4.3.
我认为你的选择是:
为了清楚起见:
对于XCode 4.5:
如果使用FB SDK3.0,则只需添加Accounts和FacebookSDK框架.
如果使用FB SDK3.1,则需要添加Accounts,FacebookSDK,Social和AdSupport框架.
如果您使用FB SDK3.2 ++,请自行检查您可能需要或不需要的其他框架.;)
希望能为大家总结一下.
| 归档时间: |
|
| 查看次数: |
14739 次 |
| 最近记录: |