CanOpenUrl-此应用程序不允许查询方案插图

我试图在 iOS9中添加 Instagram 网址到我的应用程序中,但是我收到了以下警告:

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

然而,我在我的 info.plistLSApplicationQueriesSchemes中加入了以下内容;

<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");
}

基于这个例子。

87939 次浏览
  1. Your LSApplicationQueriesSchemes entry should only have schemes. There's no point to the second entry.

    <key>LSApplicationQueriesSchemes</key>
    <array>
    <string>instagram</string>
    </array>
    
  2. Read the error. You are trying to open the URL with a typo in the scheme. Fix your reference to instragram in your call to canOpenURL:.

Put only <string>instagram</string>. It's not necessary the full path but the base of the scheme url.

For Facebook who's need:

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