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.


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:.


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.


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>

5
To nie ma nic wspólnego z pytaniem.
rmaddy

to nie odpowiada na prawdziwe pytanie
Gulfam Khan

2
facebook posiada instgram .. kaszel
Ezos
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.