canOpenUrl - Aplikasi ini tidak diizinkan untuk meminta instruksi skema

98

Saya mencoba menambahkan url Instagram ke aplikasi saya di iOS9 namun saya mendapatkan peringatan berikut:

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

Namun, saya telah menambahkan yang berikut ini ke LSApplicationQueriesSchemesdalam saya info.plist;

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

Ada bantuan yang sangat dihargai?

EDIT 1

Ini adalah kode yang saya gunakan untuk membuka 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");
}

berdasarkan contoh ini.

DevC
sumber
5
Apakah karena Anda telah menulis instragram, bukan instagram?
James P
2
@JamesP menampar dirinya sendiri di wajah bagaimana saya merindukan itu, tapi ive memperbaikinya dan masalah masih tetap ada.
DevC

Jawaban:

210
  1. LSApplicationQueriesSchemesEntri Anda seharusnya hanya memiliki skema. Tidak ada gunanya entri kedua.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. Baca kesalahannya. Anda mencoba membuka URL dengan kesalahan ketik dalam skema. Perbaiki referensi Anda ke instragramdalam panggilan Anda ke canOpenURL:.

rmaddy
sumber
1
Itu memalukan, saya membaca pesan kesalahan sekitar 30 kali dan terus melihatnya. Kesalahannya sekarang hilang. Poin pertama juga benar, tidak perlu entri kedua.
DevC
15
Ini seperti mencoba mengoreksi makalah Anda sendiri. Itu tidak berhasil. Anda terus melihat apa yang Anda harapkan, bukan apa yang sebenarnya.
rmaddy
6

Taruh saja <string>instagram</string>. Ini tidak perlu jalur lengkap tetapi basis url skema.

Andr3a88
sumber
6

Untuk Facebook yang membutuhkan:

<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
sumber
5
Ini tidak ada hubungannya dengan pertanyaan itu.
rmaddy
ini tidak menjawab pertanyaan sebenarnya
Gulfam Khan
2
facebook memiliki instgram .. batuk
Ezos