iOS 9 not opening Instagram app with URL SCHEME iOS 9 not opening Instagram app with URL SCHEME ios ios

iOS 9 not opening Instagram app with URL SCHEME


iOS 9 has made a small change to the handling of URL scheme. You must whitelist the url's that your app will call out to using the LSApplicationQueriesSchemes key in your Info.plist.

Please see post here: http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

The main conclusion is that:

If you call the “canOpenURL” method on a URL that is not in your whitelist, it will return “NO”, even if there is an app installed that has registered to handle this scheme. A “This app is not allowed to query for scheme xxx” syslog entry will appear.

If you call the “openURL” method on a URL that is not in your whitelist, it will fail silently. A “This app is not allowed to query for scheme xxx” syslog entry will appear.

The author also speculates that this is a bug with the OS and Apple will fix this in a subsequent release.


As said above, you want to add a key in the info plist, here is the list for most social networks

<key>LSApplicationQueriesSchemes</key>    <array>     <string>fb</string>     <string>fbapi</string>     <string>fbauth2</string>     <string>fbshareextension</string>     <string>fb-messenger-api</string>     <string>twitter</string>     <string>viber</string>     <string>whatsapp</string>     <string>wechat</string>     <string>line</string>     <string>instagram</string>     <string> instagram-stories</string>     <string>kakaotalk</string>     <string>mqq</string>     <string>vk</string>     <string>comgooglemaps</string>     <string>googlephotos</string>     <string>ha</string>     <string>yammer</string>    </array>

*The first 3 match Facebook (FBSDK 4.6): fbapi, fbauth2, fbshareextension. "Ha" is for snapchat


This is a new security feature of iOS 9. Watch WWDC 2015 Session 703 for more information.

Any app built with SDK 9 needs to provide a LSApplicationQueriesSchemes entry in its plist file, declaring which schemes it attempts to query.

<key>LSApplicationQueriesSchemes</key><array> <string>urlscheme</string> <string>urlscheme2</string> <string>urlscheme3</string> <string>urlscheme4</string></array>