Próbuję dodać adres URL Instagrama do mojej aplikacji w iOS9, ale otrzymuję następujące ostrzeżenie:
-canOpenURL: failed for URL: "instragram://media?id=MEDIA_ID" - error: "This app is not allowed to query for scheme instragram"
Jednak dodałem następujące elementy do LSApplicationQueriesSchemes
in my info.plist
;
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram</string>
<string>instagram://media?id=MEDIA_ID</string>//this one seems to be the issue
</array>
Każda pomoc jest mile widziana?
EDYCJA 1
Oto kod, którego używam do otwierania Instagrama:
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");
}
na podstawie tego przykładu.
ios
info-plist
DevC
źródło
źródło
Odpowiedzi:
Twój
LSApplicationQueriesSchemes
wpis powinien zawierać tylko schematy. Drugi wpis nie ma sensu.<key>LSApplicationQueriesSchemes</key> <array> <string>instagram</string> </array>
Przeczytaj błąd. Próbujesz otworzyć adres URL z literówką w schemacie. Popraw odniesienie do
instragram
w wezwaniu docanOpenURL:
.źródło
Tylko umieścić
<string>instagram</string>
. Nie jest wymagana pełna ścieżka, ale podstawa adresu URL schematu.źródło
Dla Facebooka, który potrzebuje:
<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>
źródło