I got an issue with the new FBSDK. Whenever I try to call the login method logInWithReadPermissions, I get this error message:
ERROR : "canOpenUrl : failed for url "fbauth2://" error: "(null)"
I have my config .plist file following the ios9 tuto ( https://developers.facebook.com/docs/ios/ios9 ) on dev.facebook. So, I got the NSAppTransportSecurity dictionary and the LSApplicationQueriesSchemes array (with the string "fbauth2" on it)
Would you know how to resolve this error?
1] Authentication in Developer.facebook and generate Facebook Id like :=>460481580805052
2] Set Bitcode : No From Build Settings
3] Set up Plist File
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb460481580805052</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>460481580805052</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbauth</string>
<string>fbauth2 </string>
<string>fb-messenger-api20140430</string>
<string>fb-messenger-platform-20150128</string>
<string>fb-messenger-platform-20150218</string>
<string>fb-messenger-platform-20150305</string>
</array>
4] Download 4 Sdk Framework like
=>Bolts.framework
=>FBSDKCoreKit.framework
=>FBSDKLoginKit.framework
=>FBSDKShareKit.framework
If you still continue to have problems, reset the simulator, this worked for me.
I have the same problem with Google+ Sign-in library,
but i solved for Facebook updating at the last SDK version 4.6.0!
Remember to change your plist key LSApplicationQueriesSchemes
after the update like this:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
I had the same problem, but ran the app on my phone which has facebook installed and it worked.
It might be because it doesn't work on the simulator or facebook has to be installed.
Anyone found anything else?
if you already have items on LSApplicationQueriesSchemes.
let the Facebook items first.
This solved my problem.
From Facebook FAQ at the bottom of the link:
https://developers.facebook.com/docs/ios/ios9
This is an Xcode warning indicating the the canOpenURL: call returned
false. As long as you have configured the LSApplicationQueriesSchemes
entry in your plist as described above, you can ignore this warning
Use like this in info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb123124123123</string>
<string>fbauth2</string>
</array>
</dict>
</array>
After that you should remove your app from editor and launch again.