canOpenUrl - ta aplikacja nie może wysyłać zapytań o instragram schematu

98

Próbuję dodać adres URL Instagrama do mojej aplikacji w iOS9, ale otrzymuję następujące ostrzeżenie:

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

Jednak dodałem następujące elementy do LSApplicationQueriesSchemesin my info.plist;

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

Każda pomoc jest mile widziana?

EDYCJA 1

Oto kod, którego używam do otwierania Instagrama:

 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");
}

na podstawie tego przykładu.

DevC
źródło
5
Czy to dlatego, że zamiast Instagrama napisałeś instragram?
James P
2
@JamesP uderza się w twarz, jak mogłem tego przegapić, ale naprawiłem to i problem nadal występuje.
DevC

Odpowiedzi:

210
  1. Twój LSApplicationQueriesSchemeswpis powinien zawierać tylko schematy. Drugi wpis nie ma sensu.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. Przeczytaj błąd. Próbujesz otworzyć adres URL z literówką w schemacie. Popraw odniesienie do instragramw wezwaniu do canOpenURL:.

rmaddy
źródło
1
To żenujące, przeczytałem komunikat o błędzie około 30 razy i sprawdzałem go. Błąd zniknął. Pierwszy punkt jest również poprawny, nie było potrzeby drugiego wpisu.
DevC
15
To tak, jakbyś próbował sprawdzić własną pracę. To nie działa. Wciąż widzisz, czego oczekujesz, a nie czym naprawdę jest.
rmaddy
6

Tylko umieścić <string>instagram</string>. Nie jest wymagana pełna ścieżka, ale podstawa adresu URL schematu.

Andr3a88
źródło
6

Dla Facebooka, który potrzebuje:

<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>
Ofir Malachi
źródło
5
To nie ma nic wspólnego z pytaniem.
rmaddy
to nie odpowiada na prawdziwe pytanie
Gulfam Khan
2
facebook posiada instgram .. kaszel
Ezos