106

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

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

基于这个例子。

4

3 回答 3

225
  1. 您的LSApplicationQueriesSchemes条目应该只有方案。第二个条目没有意义。

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
    
  2. 阅读错误。您正在尝试打开方案中存在拼写错误的 URL。修复您instragram在调用canOpenURL:.

于 2015-09-30T15:53:12.983 回答
8

对于需要的 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>
于 2017-09-19T11:41:05.780 回答
7

只放<string>instagram</string>. 不需要完整路径,而是方案 url 的基础。

于 2015-09-30T15:59:48.217 回答