canOpenUrl: questa app non è autorizzata a eseguire query per l'istragramma dello schema


93

Sto cercando di aggiungere l'URL di Instagram alla mia app in iOS9, tuttavia ricevo il seguente avviso:

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

Tuttavia, ho aggiunto quanto segue al LSApplicationQueriesSchemesnel mio info.plist;

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

Qualsiasi aiuto è molto apprezzato?

MODIFICA 1

Questo è il codice che sto usando per aprire 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");
}

basato su questo esempio.


5
È perché hai scritto Instragram invece di Instagram?
James P,

2
@ JamesP si schiaffeggia in faccia come ho fatto a perdere, ma l'ho risolto e il problema rimane ancora.
DevC

Risposte:


203
  1. La tua LSApplicationQueriesSchemesvoce dovrebbe avere solo schemi. Non ha senso la seconda voce.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. Leggi l'errore. Stai tentando di aprire l'URL con un errore di battitura nello schema. Correggi il riferimento a instragramnella chiamata a canOpenURL:.


1
Questo è imbarazzante, ho letto il messaggio di errore circa 30 volte e ho continuato a guardarlo. L'errore ora è sparito. Anche il primo punto è corretto, non c'era bisogno della seconda voce.
DevC

15
È come provare a leggere il tuo articolo. Non funziona. Continui a vedere cosa ti aspetti che sia, non cosa sia veramente.
rmaddy

6

Metti solo <string>instagram</string>. Non è necessario il percorso completo ma la base dell'url dello schema.


5

Per Facebook chi ha bisogno:

<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
Questo non ha nulla a che fare con la domanda.
rmaddy

questo non risponde alla vera domanda
Gulfam Khan

2
facebook possiede instgram .. tosse
Ezos
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.