iOS - 自己的URL方案并测试它

时间:2017-10-25 14:33:15

标签: ios url-scheme

我的目标是测试是否在非越狱设备中安装了应用。

首先,我尝试了两个我自己制作的应用程序。

TestApp 是我想要检查的应用程序,如果已安装。

CheckApp 是提供支票的应用。

如果我理解,围绕我的目标的基本想法是利用TestApp个人URL方案。

所以,通过Xcode,我修改了TestApp func isOpen(_ sender: Any) { let appScheme = "testapp://" let appUrl = URL(string: appScheme) if UIApplication.shared.canOpenURL(appUrl! as URL) { print("App is installed") } else { print("App not installed") } } enter image description here

然后我安装了TestApp

现在,在CheckApp中,我写了一个简单的方法

[17596:13050537] -canOpenURL: failed for URL: "testapp://" - error: "This app is not allowed to query for scheme installpatch"
App not installed

但是如果我打电话给它,控制台会说我

mailto

我已经使用像serializeArray()这样的网址方案测试了该方法,但没关系。

我哪里错了?

1 个答案:

答案 0 :(得分:2)

您可能需要将以下密钥添加到 CheckApp 中的Info.plist文件中,并在结尾处添加您希望-canOpenURL(_:)的网址方案列表。那一天。

LSApplicationQueriesSchemes

在Xcode中应该如何看待它:

general list of schemes

您需要确保您的计划在此列表中,例如根据您的OP "testapp"

注意: 您可以在Apple's site上详细了解该密钥。