canOpenUrl - этому приложению не разрешено запрашивать инстраграм схемы

Я пытаюсь добавить URL-адрес Instagram в свое приложение в iOS9, однако получаю следующее предупреждение:

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

Однако я добавил следующее к LSApplicationQueriesSchemes в моем info.plist;

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

Любая помощь приветствуется?

ИЗМЕНИТЬ 1

Это код, который я использую для открытия 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");
}

на основе этого примера.


person DevC    schedule 30.09.2015    source источник
comment
Это потому, что вы написали инстраграм вместо инстаграма?   -  person James P    schedule 30.09.2015
comment
@JamesP бьет себя по лицу как я это пропустил, но я исправил это, и проблема все еще остается.   -  person DevC    schedule 30.09.2015


Ответы (3)


  1. Ваша запись LSApplicationQueriesSchemes должна содержать только схемы. Во второй записи нет смысла.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. Прочтите ошибку. Вы пытаетесь открыть URL с опечаткой в ​​схеме. Исправьте ссылку на instragram в вызове на canOpenURL:.

person rmaddy    schedule 30.09.2015
comment
Это смущает, я прочитал сообщение об ошибке около 30 раз и продолжал его просматривать. Теперь ошибка исчезла. Первый пункт тоже правильный, второй записи не понадобилось. - person DevC; 30.09.2015
comment
Это все равно, что пытаться проверить свою собственную статью. Это не работает. Вы продолжаете видеть то, что ожидаете, а не то, что есть на самом деле. - person rmaddy; 30.09.2015

Для пользователей Facebook, которым это необходимо:

<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>
person Ofir Malachi    schedule 19.09.2017
comment
Это не имеет никакого отношения к вопросу. - person rmaddy; 23.06.2018
comment
это не отвечает на реальный вопрос - person Gulfam Khan; 04.12.2019
comment
фейсбук владеет инстаграм.. кашель - person Ezos; 04.06.2020

Ставьте только <string>instagram</string>. Это не обязательно полный путь, но основа URL-адреса схемы.

person Andr3a88    schedule 30.09.2015