canOpenURL:网址失败:" instagram:// app" - 错误:"此应用程序不允许查询方案instagram"

时间:2017-05-15 09:30:58

标签: ios iphone swift

这是我使用的代码:

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

我输入if循环失败了。

我收到此错误:

  

canOpenURL:网址失败:" instagram:// app" - 错误:"此应用不允许查询方案instagram"

我也在我的设备中登录Instagram。

4 个答案:

答案 0 :(得分:34)

右键单击 plist文件,然后将其打开为源代码。然后复制并粘贴下面的代码:

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

注意:有一件事你必须记住,它不适用于模拟器。你需要一个真正的设备。

答案 1 :(得分:6)

问题是您没有在info.plist文件中注册URL方案。

请添加此LSApplicationQueriesSchemes并在info.plist中添加instagram:// app,它会起作用。 enter image description here

答案 2 :(得分:6)

打开你的plist作为源代码并粘贴以下代码:

<UserControl x:Name="myUserControl">
    <StackPanel>
        <Button x:Name="first" Command="{Binding OpenCommand, ElementName=myUserControl}"/> <!--Command works-->
        <controls:DropDownButtonControl>
            <controls:DropDownButtonControl.DropDownContent>
                <Button x:Name="second" Command="{Binding OpenCommand, ElementName=myUserControl}"/>  <!--Command doesn't work-->
            </controls:DropDownButtonControl.DropDownContent>
        </controls:DropDownButtonControl>
    </StackPanel>
</abstractions:UserControlBase>

答案 3 :(得分:2)

对于那些尝试使用自定义URL方案打开应用程序的用户(假设应用程序FirstApp打开SecondApp):

  • 在FirstApp中,将具有URL方案的LSApplicationQueriesSchemes添加到Info.plist中,如下所示:

withAnimation

  • 在SecondApp中以如下URL类型注册新的URL方案:

enter image description here