web-dev-qa-db-ja.com

Facebook SDK:URLスキームとして登録されていないアプリ

Facebook SDK found here を使用し、提供されているサンプル(FacebookiOSSampleフォルダー)を試しています。

ここでAppIdを特定のAppIdに単純に置き換えると、共有できなくなります。 (AppDelegateファイルとinfo.plistファイルの両方で置き換えました)。現在、次のエラーが表示されます。

FBSDKLog:FBAppCallの無効な使用、fb ****はURLスキームとして登録されていません。 plistに「FacebookUrlSchemeSuffix」を設定しましたか?

それ以外の場合、これはAppIdという名前の何かを指すサンプルの元のIFaceTouchで正常に機能します。

アプリのセットアップで何が問題になる可能性がありますか、AppIdを登録するにはどうすればよいですか?

72
L. Desjardins

次の3つの手順に従います。

  1. 文字列値でFacebookAppIDというキーを作成し、そこにアプリIDを追加します。
  2. FacebookDisplayNameというキーを文字列値で作成し、アプリダッシュボードで構成した表示名を追加します。
  3. URL Schemesと呼ばれる単一のサブ項目を持つURLタイプと呼ばれる配列キーを作成します。これに、fbのプレフィックスが付いたアプリIDを持つ単一のアイテムを与えます。これは、アプリケーションがWebベースのOAuthフローのコールバックURLを確実に受信するために使用されます。

完成した.plistは次のようになります。

enter image description here

ソースリンク:

199
RaffAl

In terms of raw keys and values you should have CFBundleURLTypes and CFBundleURLSchemes

生のキーと値に関しては、CFBundleURLTypesとCFBundleURLSchemesが必要です。お役に立てば幸いです!

20
clearwater82

情報の下に別のセクションがあります-RLタイプ

URLスキームフィールドの下の値がURLタイプの値と一致することを確認します- > URLスキーム上記のプロパティリスト。 (また、FacebookAppIDと一致します)

URL TYPES

15
Aviram Net

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>
9
JeffersonBe

これに移動 リンク アプリを選択し、info.plistを設定します

3
ZAFAR007

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と名前に置き換えます。

2
Mahgol Fa

今日、FacebookDisplayNameからスペースを削除するだけでこのバグを解決しました。

FacebookDisplayNameにスペースがないことを確認してください

0
Krutarth Patel

あなたの問題が私のものと同じかどうかはわかりません。しかし、それを見つけるのに時間がかかりました。誰にも役立つようにここに配置します。問題は、Googleサインインが同じinfo.plist属性名を使用し、facebookの名前を上書きしていたことです。 X-Codeでこれを確認し、それらをまとめることができたので、すべてが正常に機能するようになりました! (URLタイプ属性)。

0
Daniel Vilela