Facebook SDK 3.1 for iOS - runs on iOS6, but crash

2019-01-08 20:44发布

We've just updated our Facebook SDK for iOS to 3.1. Facebook SDK 3.0.8 didn't run on iOS6, now that we have upgraded to 3.1, it runs on iOS 6, but crashes under iOS 5.x.

because of AdSupport.framework app crashes on iOS 5.x instantly after starting with the following error:

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)

Did anybody face that problem? Is there a problem on Facebook's side and there guys are working on fixing this?

Or are we doing something wrong?

3条回答
Root(大扎)
2楼-- · 2019-01-08 21:03

If you're targeting iOS versions less than 6.0, you'll need to make AdSupport.framework, Social.framework, and Accounts.framework optionally-linked.

Please have a look at the attached screenshot.enter image description here

Cheers...!!!

查看更多
男人必须洒脱
3楼-- · 2019-01-08 21:03

For anyone reading this and using Facebook SDK 3.6+ for iOS, you no longer need to include these libraries or Optionally link them. See the Facebook docs for Upgrading from 3.5 to 3.6:

"Remove the framework dependencies added to your app when you installed the Facebook SDK. The SDK still depends on them but now loads them automatically making setup simpler. Remove these frameworks / libraries:

Accounts.framework

AdSupport.framework

Security.framework

Social.framework

libsqlite3.dylib [or remove the -lsqlite3.0 linker flag]

[Note: if your app uses any of the APIs from those frameworks / libraries directly, your project should still include the framework explicitly]"

查看更多
霸刀☆藐视天下
4楼-- · 2019-01-08 21:18

Did you set the frameworks to be optional? When you are adding AdSupport.framework, Social.framework, and Accounts.framework, there is drop down menu to the right that you can select between "Required" and "Optional". See a picture example here: Link

Another thing to check is in your Project's "Build Settings" that 'Base SDK' is 6.0 and 'iOS Deployment Target' is iOS 4.3.

I'm able to build FB SDK 3.1 on my iOS 5.1 with these settings.

查看更多
登录 后发表回答