Facebook SDK 3.1 for iOS - 在iOS6上运行,但在iOS 5.x上崩溃
我们刚刚将iOS版Facebook SDK更新至3.1。 Facebook SDK 3.0.8未在iOS6上运行,现在我们已升级到3.1,它在iOS 6上运行,但在iOS 5.x下崩溃。Facebook SDK 3.1 for iOS - 在iOS6上运行,但在iOS 5.x上崩溃
,因为在iOS 5.x的AdSupport.framework程式的应用程序崩溃的瞬间,出现以下错误启动后:
dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport
Referenced from: /Volumes/Macintosh HD/Users/dmitrybaranov/Library/Application Support/iPhone Simulator/5.0/Applications/D6A93996-1E58-48A5-A457-DBC4FCCEE0EB/app.app/app
Reason: image not found
(lldb)
有没有人遇到这个问题? Facebook方面是否存在问题?那里的人正在努力解决这个问题?
或者我们做错了什么?
您是否将框架设置为可选项?当您添加AdSupport.framework,Social.framework和Accounts.framework时,可以在右侧的下拉菜单中选择“必需”和“可选”。在这里看到一个画面例如: Link
另一件事是检查在项目的“生成设置”是“基地SDK”是6.0的iOS部署目标“是的iOS 4.3。
我可以使用这些设置在我的iOS 5.1上创建FB SDK 3.1。
对于阅读此内容并使用Facebook SDK 3.6+ for iOS的任何人,您不再需要包含这些库或将它们可选链接。见Facebook docs for Upgrading from 3.5 to 3.6:
“删除添加到您的应用程序框架的依赖,当你安装了Facebook SDK的SDK仍然依赖于他们,但现在加载它们自动地使设置更简单的删除这些框架/库:。
Accounts.framework
AdSupport.framework
Security.framework
Social.framework
libsqlite3.dylib
[或删除-lsqlite3.0链接标志]
[注:如果你的应用程序直接使用任何的API从这些框架/库,你的项目还应该包括框架明确]”
@JoeBlow将其从“构建阶段”设置中的“链接二进制库”列表中移除。我不认为在Project Navigator中引用它们会引起任何后果或影响。如果您有很多目标并且没有链接到任何目标的库,您可以将它们从那里删除以减少混乱或减少混淆。 – MattyG
非常感谢你..我正要回到Xcode 4.3和FBSDK 3.0 ..你为我节省了很多麻烦.. – lukya
谢谢 - 实际上我们应该更新https://developers.facebook.com/上的文档docs/getting-started/facebook-sdk-for-ios/3.1/upgrades-from-3.0 /以反映这一点 –
现在已经完成;-) –