Я пытаюсь добавить 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");
}
на основе этого примера.
ios
info-plist
DevC
источник
источник
Ответы:
В вашей
LSApplicationQueriesSchemes
записи должны быть только схемы. Вторая запись не имеет смысла.<key>LSApplicationQueriesSchemes</key> <array> <string>instagram</string> </array>
Прочтите ошибку. Вы пытаетесь открыть URL с опечаткой в схеме. Исправьте ссылку на
instragram
в своем вызовеcanOpenURL:
.источник
Ставь только
<string>instagram</string>
. Это не обязательно полный путь, а только основание URL схемы.источник
Для 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>
источник