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。

+0

非常感谢你..我正要回到Xcode 4.3和FBSDK 3.0 ..你为我节省了很多麻烦.. – lukya

+0

谢谢 - 实际上我们应该更新https://developers.facebook.com/上的文档docs/getting-started/facebook-sdk-for-ios/3.1/upgrades-from-3.0 /以反映这一点 –

+0

现在已经完成;-) –

如果你的目标IOS版本低于6.0,则需要进行AdSupport.framework程式Social.framework,并Accounts.framework可选联。

请看附件截图。 enter image description here

干杯...... !!!

+1

这适用于我,iOS5.1.1和FB SDK 3.1。感谢您使用screencap清楚地展示它。 – GeneCode

+1

非常欢迎您! – VSN

+0

谢谢你:)真的你节省了我的时间:) –

对于阅读此内容并使用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从这些框架/库,你的项目还应该包括框架明确]”

+0

@JoeBlow将其从“构建阶段”设置中的“链接二进制库”列表中移除。我不认为在Project Navigator中引用它们会引起任何后果或影响。如果您有很多目标并且没有链接到任何目标的库,您可以将它们从那里删除以减少混乱或减少混淆。 – MattyG