canOpenUrl - This app is not allowed to query for scheme instragram

IosInfo Plist

Ios Problem Overview


Im trying to add the Instagram url to my app in iOS9 however I am getting the following warning:

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

However, Ive added the following to the 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>

Any help is greatly appreciated?

EDIT 1

This is the code I am using to open 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");
}

based off this example.

Ios Solutions


Solution 1 - Ios

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

Solution 2 - Ios

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>

Solution 3 - Ios

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDevCView Question on Stackoverflow
Solution 1 - IosrmaddyView Answer on Stackoverflow
Solution 2 - IosOfir MalachiView Answer on Stackoverflow
Solution 3 - IosAndr3a88View Answer on Stackoverflow