web-dev-qa-db-fra.com

Facebook SDK: application non enregistrée en tant que schéma d'URL

J'utilise le Facebook SDK trouvé ici , et j'essaie l'échantillon fourni (dans le dossier FacebookiOSSample).

Si je remplace simplement le AppId ici par mon spécifique AppId, je ne pourrai plus partager. (Je l'ai remplacé à la fois dans le fichier AppDelegate et dans le fichier info.plist fichier). Je reçois maintenant l'erreur suivante:

FBSDKLog: utilisation non valide de FBAppCall, fb **** n'est pas enregistré en tant que schéma d'URL. Avez-vous mis 'FacebookUrlSchemeSuffix' dans votre plist?

Sinon, cela fonctionne bien avec l'original de l'échantillon AppId, qui pointe vers quelque chose nommé IFaceTouch.

Quel est le problème avec la configuration de mon application, comment puis-je enregistrer mon AppId?

72
L. Desjardins

Suivez ces trois étapes:

  1. Créez une clé appelée FacebookAppID avec une valeur de chaîne et ajoutez l'ID de l'application à cet endroit.
  2. Créez une clé appelée FacebookDisplayName avec une valeur de chaîne et ajoutez le nom d'affichage que vous avez configuré dans le tableau de bord de l'application.
  3. Créez une clé de tableau appelée types d'URL avec un seul sous-élément de tableau appelé Schémas d'URL . Donnez-lui un seul article avec l'identifiant de votre application précédé de fb. Ceci est utilisé pour s'assurer que l'application recevra le rappel [~ # ~] url [~ # ~] du site Web OAuth flux.

Le .plist fini devrait ressembler à ceci:

enter image description here

Lien source:

199
RaffAl

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

En termes de clés brutes et de valeurs, vous devriez avoir CFBundleURLTypes et CFBundleURLSchemes. J'espère que ça t'as aidé!

20
clearwater82

il y a une autre section sous l'info - Types d'URL

vérifiez que les valeurs présentes dans le champ Régimes d'URL correspondent à la valeur des types d'URL - > Schémas d'URL dans la liste des propriétés ci-dessus. (et correspond également à FacebookAppID)

URL TYPES

15
Aviram Net

Pour iOS 9

Si vous avez une erreur: 'LSApplicationQueriesSchemes'

Basé sur la réponse Bear with me answer , vous devrez également ajouter ces lignes:

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>fbauth2</string>
</array>

Voir this .

Vous devrait vous retrouvez avec ces lignes à la fin de vos fichiers .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>

* Si vous utilisez la version 4.6.0 ou supérieure du SDK, il vous suffit d'ajouter: * (Merci mohsinj )

   <key>LSApplicationQueriesSchemes</key>
      <array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
   </array>
9
JeffersonBe

Allez à ceci Lien Sélectionnez votre application et configurez votre info.plist

3
ZAFAR007

1- Dans Xcode, cliquez avec le bouton droit sur le fichier Info.plist de votre projet et sélectionnez Ouvrir en tant que -> Code source.

2- Insérez l’extrait de code XML suivant dans le corps de votre fichier juste avant le dernier </dict> élément.

  <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- Remplacez {your-app-id} et {your-app-name} par l'identifiant et le nom de votre application figurant sur le tableau de bord de l'application Facebook.

2
Mahgol Fa

Aujourd'hui, j'ai résolu ce problème en supprimant simplement l'espace de FacebookDisplayName.

assurez-vous de ne pas avoir d'espace dans FacebookDisplayName

0
Krutarth Patel

Je ne sais pas si votre problème est le même que le mien. Mais cela m'a pris un peu de temps pour le trouver et je vais le mettre ici pour qu'il puisse aider n'importe qui .. Le problème était que la connexion Google utilisait le même nom d'attribut info.plist et qu'il remplaçait celui de Facebook .. pouvait voir cela dans X-Code et les mettre ensemble, maintenant tout fonctionne bien! (Attribut Types d'URL).

0
Daniel Vilela