xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

症状:应用程序在启动后立即崩溃:
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 =“账户AdSupport社会”,我以为是做XCode中选购这些框架的等价物.所以,没有帮助.

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

解决方法

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...