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 Stackru question was posted.
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    //do stuff
}
else{
    NSLog(@"NO instgram found");
}

основываясь на этом примере.

3 ответа

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

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

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

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

Другие вопросы по тегам