canOpenUrl - Cette application n'est pas autorisée à interroger l'instragram du schéma


93

J'essaie d'ajouter l'URL d'Instagram à mon application dans iOS9, mais je reçois l'avertissement suivant:

-canOpenURL: failed for URL: "instragram://media?id=MEDIA_ID" - error: "This app is not allowed to query for scheme instragram"

Cependant, j'ai ajouté ce qui suit au LSApplicationQueriesSchemesdans mon info.plist;

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>instagram</string>
    <string>instagram://media?id=MEDIA_ID</string>//this one seems to be the issue
</array>

Toute aide est grandement appréciée?

MODIFIER 1

Voici le code que j'utilise pour ouvrir instagram:

 NSURL * instagramURL = [NSURL URLWithString:@"instragram://media?id=MEDIA_ID"];//edit: note, to anyone copy pasting this code, please notice the typo OP has in the url, that being "instragram" instead of "instagram". This typo was discovered after this StackOverflow question was posted.
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    //do stuff
}
else{
    NSLog(@"NO instgram found");
}

basé sur cet exemple.


5
Est-ce parce que vous avez écrit instragram au lieu d'Instagram?
James P

2
@JamesP se gifle comment ai-je manqué cela, mais je l'ai résolu et le problème persiste.
DevC

Réponses:


203
  1. Votre LSApplicationQueriesSchemesentrée ne doit avoir que des schémas. Il n'y a aucun intérêt à la deuxième entrée.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. Lisez l'erreur. Vous essayez d'ouvrir l'URL avec une faute de frappe dans le schéma. Fixez votre référence à instragramdans votre appel à canOpenURL:.


1
C'est embarrassant, j'ai lu le message d'erreur environ 30 fois et j'ai continué à le regarder. L'erreur a maintenant disparu. Le premier point est également correct, il n'y avait pas besoin de la deuxième entrée.
DevC

15
C'est comme essayer de relire votre propre article. Ça ne marche pas. Vous continuez à voir ce que vous attendez que ce soit, pas ce que c'est vraiment.
rmaddy

6

Mettez seulement <string>instagram</string>. Ce n'est pas nécessaire le chemin complet mais la base de l'url du schéma.


5

Pour Facebook qui en a besoin:

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</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>fbshareextension</string>
    </array>

5
Cela n'a rien à voir avec la question.
rmaddy le

cela ne répond pas à la vraie question
Gulfam Khan

2
facebook possède instgram .. toux
Ezos
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.