Facebook IOS SDK 3.1.1与Xcode 4.5.2错误

我是在iOS的Facebook SDK新。 为什么我在构build项目时遇到这个错误…

我只是从Facebook SDK的ios教程创build一个基本步骤的新项目..

  • 下载Facebook SDK(我使用3.1.1)
  • Xcode(我使用4.5.2)
  • 在“ Build Setting ”的“ Other Linker Flags ”中添加“-lsqlite3.0”
  • 添加FacebookSDK.framework
  • 添加FacebookSDKResources.bundle
  • 添加FBUserSettingsViewResources.bundle

我尝试编译,一切正常..所以我继续在AppDelegate上编写基本的实现

 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [FBSession.activeSession handleOpenURL:url]; } 

 #import <FacebookSDK/FacebookSDK.h> 

当我尝试构build时,错误即将出现…这是日志

 Undefined symbols for architecture armv7: "_OBJC_CLASS_$_ACAccountStore", referenced from: objc-class-ref in FacebookSDK(FBSession.o) "_ACFacebookAudienceFriends", referenced from: -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) "_ACFacebookAppIdKey", referenced from: -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) "_ACAccountTypeIdentifierFacebook", referenced from: +[FBSession renewSystemAuthorization] 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) "_ACFacebookAudienceEveryone", referenced from: -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o) ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我发现这很奇怪,因为我使用相同的SDK和相同的设置与Scrumptious例子,而且这个例子运行良好..同时我得到这个错误…

任何想法?

我得到了答案… Facebook的IOS SDK 3.1需要更多的框架来处理..它需要“账户”,“AdSupport”和“社会”的框架,这是可用的IOS6。 因为Facebook SDK 3.1是基于IOS6创build的

注意:如果您希望您的应用也针对较早版本的操作系统进行构build,则应使用适用于iOS6特定框架的OPTIONAL标志。 看起来像这样

在这里输入图像说明