6

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

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 设备上运行示例项目即可重现它。

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

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

4

2 回答 2

9

它可以很容易地解决..

单击您的项目Targets

然后去总结

链接的框架和库下

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

  • 社会框架

  • AdSupport.framework

  • Accounts.framework

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

于 2013-07-10T08:48:28.417 回答
7

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

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

于 2013-04-29T20:51:29.090 回答