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


98

Я пытаюсь добавить 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");
}

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


5
Это потому, что вы написали instragram вместо instagram?
Джеймс П.

2
@JamesP бьет себя по лицу, как я это пропустил, но ive исправил это, и проблема все еще остается.
DevC,

Ответы:


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

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


1
Это неудобно, я прочитал сообщение об ошибке около 30 раз и продолжал его просматривать. Ошибка исчезла. Первый пункт тоже правильный, во втором вводе не было необходимости.
DevC,

15
Это все равно, что пытаться проверить свою статью. Не работает. Вы продолжаете видеть то, что ожидаете, а не то, что есть на самом деле.
rmaddy

6

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


6

Для 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>

5
Это не имеет отношения к вопросу.
rmaddy

это не отвечает на настоящий вопрос
Гульфам Хан

2
facebook владеет instgram .. кашель
Эзос
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.