web-dev-qa-db-ja.com

Facebook SDK 4.5 IOS 9

新しいFBSDKで問題が発生しました。ログインメソッドlogInWithReadPermissionsを呼び出そうとすると、次のエラーメッセージが表示されます。

エラー: "canOpenUrl:URL" fbauth2:// "で失敗しましたエラー:"(null) "

Dev.facebookのios9tuto( https://developers.facebook.com/docs/ios/ios9 )の後にconfig.plistファイルがあります。そこで、NSAppTransportSecurityディクショナリとLSApplicationQueriesSchemes配列(文字列「fbauth2」が含まれている)を取得しました。

このエラーを解決する方法を知っていますか?

16
Bastien

1] Developer.facebookで認証し、次のようなFacebook IDを生成します:=> 460481580805052

2]ビットコードの設定:ビルド設定からいいえ

3] Plistファイルを設定する

<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]次のような4つのSdkフレームワークをダウンロードします

=>Bolts.framework
=>FBSDKCoreKit.framework
=>FBSDKLoginKit.framework
=>FBSDKShareKit.framework
3
Nikunj Patel

それでも問題が解決しない場合は、シミュレーターをリセットしてください。これでうまくいきました。

5
PJ .

Google+サインインライブラリでも同じ問題が発生しますが、最新のSDKバージョン4.6.0でFacebookの更新を解決しました。

更新後、次のようにplistキーLSApplicationQueriesSchemesを変更することを忘れないでください。

<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
</array>
4
Jacopo Penzo

FacebookからFAQリンクの下部: https://developers.facebook.com/docs/ios/ios9

これは、canOpenURL:呼び出しがfalseを返したことを示すXcode警告です。上記のようにplistのLSApplicationQueriesSchemesエントリを構成している限り、この警告は無視できます。

0
Bruno Delgado

LSApplicationQueriesSchemesに既にアイテムがある場合は、最初にFacebookアイテムを使用してください。

これで私の問題は解決しました。

0
Ponja

同じ問題が発生しましたが、Facebookがインストールされている携帯電話でアプリを実行すると機能しました。シミュレーターで動作しないか、Facebookをインストールする必要があるためかもしれません。誰か他に何か見つけましたか?

0
daniel3223