InstagramのURLをiOS9のアプリに追加しようとしていますが、次の警告が表示されます。
-canOpenURL: failed for URL: "instragram://media?id=MEDIA_ID" - error: "This app is not allowed to query for scheme instragram"
ただし、Iinfo.plist
のLSApplicationQueriesSchemes
に次を追加しました。
<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");
}
この例に基づいています。
LSApplicationQueriesSchemes
エントリにはスキームのみが必要です。 2番目のエントリには意味がありません。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram</string>
</array>
エラーを読んでください。スキームのタイプミスでURLを開こうとしています。 canOpenURL:
への呼び出しでinstragram
への参照を修正します。
必要な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のベースが必要です。