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.


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


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.


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>

5
Ini tidak ada hubungannya dengan pertanyaan itu.
rmaddy

ini tidak menjawab pertanyaan sebenarnya
Gulfam Khan

2
facebook memiliki instgram .. batuk
Ezos
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.