Facebook iOS SDK:应用程序在"未找到符号:_ACFacebookAppIdKey"开始后立即崩溃.仅限iOS 5

Die*_*ego 6 xamarin.ios facebook-ios-sdk

症状:应用程序在启动后立即崩溃:

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
Run Code Online (Sandbox Code Playgroud)

此问题特定于Facebook iOS SDK的MonoTouch绑定,它仅适用于iOS 5.0和5.1.只需在iOS 5设备上运行示例项目即可重现它.

有一个相关的SO问题(适用于iOS的Facebook SDK 3.1 - 在iOS6上运行,但在iOS 5.x上崩溃),这表明使框架可选.据我所知,这不能从Xamarin.iOS完成,但LinkWith绑定中的assembly属性已经有了WeakFrameworks = "Accounts AdSupport Social",我认为这相当于在XCode 中使这些框架可选.所以,没有帮助.

问题似乎是MonoTouch绑定,Xamarin.iOS或Facebook iOS SDK本身的错误.有任何想法吗?

Pan*_*waj 9

它可以很容易地解决..

单击您的项目目标.

然后去总结

链接框架和库下

将所需选项更改为三个框架的可选项:

  • Social.framework

  • AdSupport.framework程式

  • Accounts.framework

现在,您还可以在iPAD或iPHONE模拟器5或5.1上运行和检查代码

  • 工作就像一个魅力 - Accounts.framework更改为可选. (2认同)

Rol*_*nge 7

这是一个已修复的已知错误(但修复程序尚未达到任何稳定版本的Xamarin.iOS - 错误报告称它将包含在6.2.2版本中,但这没有发生).

目前唯一已知的解决方法是使用较旧版本的Facebook SDK.