简体   繁体   中英

canOpenURL: failed for URL: “instagram://app” - error: “This app is not allowed to query for scheme instagram”

This is the code I use:

let instagramURL = NSURL(string: "instagram://app")
if UIApplication.shared.canOpenURL(instagramURL! as URL) {
  //Code
} else {
  //Showing message "Please install the Instagram application"
}

I am getting unsuccessful to enter in if loop.

I get this error:

canOpenURL: failed for URL: "instagram://app" - error: "This app is not allowed to query for scheme instagram"

I have also Login with Instagram in my device.

Right click on your plist file and open it as source code . Then copy and paste below code:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>instagram</string>
</array>

Note: One thing you have to keep in mind that it will not work on simulator. You need a real device for this.

Open your plist as source code and paste following code:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>instagram</string>
</array>

The issue is that you are not registering the URL scheme in the info.plist file.

Please add this LSApplicationQueriesSchemes and add instagram in your info.plist and it will work. 在此处输入图片说明

For those who try to open the app using custom URL Scheme (assume that app FirstApp opens SecondApp):

  • In FirstApp add LSApplicationQueriesSchemes with URL Scheme to Info.plist like this:

在此处输入图片说明

  • In SecondApp register new URL Scheme in URL Types like this:

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM