Facebook IOS SDK 3.1.1 与 Xcode 4.5.2 错误
Posted
技术标签:
【中文标题】Facebook IOS SDK 3.1.1 与 Xcode 4.5.2 错误【英文标题】:Facebook IOS SDK 3.1.1 with Xcode 4.5.2 error 【发布时间】:2012-11-29 08:27:17 【问题描述】:我是 ios 中 Facebook SDK 的新手。 为什么我在构建项目时收到此错误...
我刚刚使用 Facebook SDK 的 ios 教程中的基本步骤创建了一个新项目。
下载Facebook SDK(我用的是3.1.1) Xcode(我用的是 4.5.2) 在Other Linker Flags
中添加“-lsqlite3.0”Build Setting
添加 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>
当我尝试构建时,出现错误...这是日志
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)
我发现这很奇怪,因为我使用与Scrumptious
示例相同的 SDK 和相同的设置,并且该示例运行良好.. 同时我收到此错误...
有什么想法吗?
【问题讨论】:
【参考方案1】:我得到了答案...Facebook IOS SDK 3.1 需要更多框架才能使用。它需要 IOS6 上提供的“Accounts”、“AdSupport”和“Social”框架。因为Facebook SDK 3.1
是基于IOS6
创建的..
注意:如果您希望您的应用也为旧版本的操作系统构建,您应该为 iOS6 特定的框架使用 OPTIONAL 标志。看起来像这样。
【讨论】:
还有 libsqlite3.0.dylib!谢谢你,你救了我 在我的例子中是 Accounts以上是关于Facebook IOS SDK 3.1.1 与 Xcode 4.5.2 错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS – 从 facebook.com 删除应用程序后,Facebook SDK 3.1.1 访问警报不显示
iOS - Facebook SDK 3.1.1 构建失败 armv7