Facebook iOS SDK:应用程序在以“未找到符号:_ACFacebookAppIdKey”开始后立即崩溃。仅在 iOS 5 中
Posted
技术标签:
【中文标题】Facebook iOS SDK:应用程序在以“未找到符号:_ACFacebookAppIdKey”开始后立即崩溃。仅在 iOS 5 中【英文标题】:Facebook iOS SDK: App crashes right after starting with "Symbol not found: _ACFacebookAppIdKey." only in iOS 5 【发布时间】:2013-04-29 17:50:48 【问题描述】:症状:应用程序在启动后立即崩溃:
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread: 0
Dyld Error Message:
Symbol not found: _ACFacebookAppIdKey
Referenced from: /var/mobile/Applications/C9CCEC42-DD12-40D1-91EE-965A8AC37AE4/MyApp.app/MyApp
Expected in: /System/Library/Frameworks/Accounts.framework/Accounts
in /var/mobile/Applications/1234EC42-0012-40D1-1234-965A8AC31234/MyApp.app/MyApp
Dyld Version: 199.6
此问题特定于 Facebook ios SDK 的 MonoTouch 绑定,并且仅在 iOS 5.0 和 5.1 中发生。只需在 iOS 5 设备上运行 the sample project 即可复制它。
有一个相关的 SO 问题 (Facebook SDK 3.1 for iOS - runs on iOS6, but crashes on iOS 5.x) 建议将框架设为可选。据我所知,这不能从 Xamarin.iOS 完成,但绑定中的 LinkWith
程序集属性已经具有 WeakFrameworks = "Accounts AdSupport Social"
,我认为这相当于在 XCode 中使这些框架成为可选。所以,没有任何帮助。
问题似乎是 MonoTouch 绑定、Xamarin.iOS 或 Facebook iOS SDK 本身中的错误。有什么想法吗?
【问题讨论】:
【参考方案1】:很容易解决..
点击您的项目目标。
然后转到摘要
在链接的框架和库
将必需选项更改为三个框架中的可选选项:
Social.framework
AdSupport.framework
Accounts.framework
现在您还可以在 iPAD 或 iPHONE 模拟器 5 或 5.1 上运行和检查您的代码
【讨论】:
像魅力一样工作 - Accounts.framework 更改为可选。 考虑到这个问题是针对 Xamarin SDK 的,您能否评论一下如何将这些框架添加到 Xamarin 项目中?我一直在看 IDE 10 分钟。不敢相信一些如此基本的东西,因为这是丢失/很难找到......哇哦,这是从 2013 年开始的...... 用Xcode打开就可以做这个配置。换句话说,这对我不起作用 @nVentimiglia 对不起,它适用于 iOS SDK,而不适用于 Xamarin SDK :)【参考方案2】:这是一个已修复的known bug(但该修复尚未达到 Xamarin.iOS 的任何稳定版本 - 错误报告称它将包含在 6.2.2 版本中,但没有不会发生)。
目前唯一已知的解决方法是使用较旧版本的 Facebook SDK。
【讨论】:
以上是关于Facebook iOS SDK:应用程序在以“未找到符号:_ACFacebookAppIdKey”开始后立即崩溃。仅在 iOS 5 中的主要内容,如果未能解决你的问题,请参考以下文章
使用新的 facebook-ios-sdk 在 iphone 上未显示 Facebook Connect 登录对话框
Facebook iOS SDK 未显示 FbLogin 按钮
使用 iOS 版 Facebook SDK 发布故事时未上传图片
适用于iOS的Facebook SDK:未显示FBSDKShareDialog