Facebook SDK
found here を使用し、提供されているサンプル(FacebookiOSSample
フォルダー)を試しています。
ここでAppId
を特定のAppId
に単純に置き換えると、共有できなくなります。 (AppDelegate
ファイルとinfo.plist
ファイルの両方で置き換えました)。現在、次のエラーが表示されます。
FBSDKLog:FBAppCallの無効な使用、fb ****はURLスキームとして登録されていません。 plistに「FacebookUrlSchemeSuffix」を設定しましたか?
それ以外の場合、これはAppId
という名前の何かを指すサンプルの元のIFaceTouch
で正常に機能します。
アプリのセットアップで何が問題になる可能性がありますか、AppId
を登録するにはどうすればよいですか?
次の3つの手順に従います。
完成した.plistは次のようになります。
生のキーと値に関しては、CFBundleURLTypesとCFBundleURLSchemesが必要です。お役に立てば幸いです!
情報の下に別のセクションがあります-RLタイプ
URLスキームフィールドの下の値がURLタイプの値と一致することを確認します- > URLスキーム上記のプロパティリスト。 (また、FacebookAppIDと一致します)
iOS 9の場合
エラーがある場合: 'LSApplicationQueriesSchemes'
Bear with me answer に基づいて、これらの行も追加する必要があります。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbauth2</string>
</array>
this を参照してください。
あなたはshould.plistファイルの最後にこれらの行があります:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb2R3234544534554</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>2R3234544534554</string>
<key>FacebookDisplayName</key>
<string>stevejeff</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<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>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbauth2</string>
</array>
</dict>
</plist>
* v4.6.0以降のSDKを使用している場合、追加する必要があるのは次のもののみです:*(ありがとう mohsinj )
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
これに移動 リンク アプリを選択し、info.plist
を設定します
1- Xcodeで、プロジェクトのInfo.plistファイルを右クリックし、[名前を付けて開く]-> [ソースコード]を選択します。
2-次のXMLスニペットを、ファイルの本文の最後の</dict>
要素の直前に挿入します。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
3- {your-app-id}と{your-app-name}を、Facebookアプリダッシュボードで見つかったアプリのアプリのIDと名前に置き換えます。
今日、FacebookDisplayNameからスペースを削除するだけでこのバグを解決しました。
FacebookDisplayNameにスペースがないことを確認してください
あなたの問題が私のものと同じかどうかはわかりません。しかし、それを見つけるのに時間がかかりました。誰にも役立つようにここに配置します。問題は、Googleサインインが同じinfo.plist属性名を使用し、facebookの名前を上書きしていたことです。 X-Codeでこれを確認し、それらをまとめることができたので、すべてが正常に機能するようになりました! (URLタイプ属性)。