我的目标是测试是否在 中安装了应用程序未越狱设备。
首先,我尝试了自己制作的两个应用程序。
测试应用 是我要检查的应用程序,是否已安装。
查询应用 是提供支票的应用程序。
如果我理解的话,围绕我的目标的基本想法是利用 TestApp 个人 URL 方案。
所以,通过 Xcode,我修改了 TestApp Info.plist
然后我安装了TestApp
现在,在 CheckApp 我写了一个简单的方法
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")
}
}
但如果我调用它,控制台会说我
[17596:13050537] -canOpenURL: failed for URL: "testapp://" - error: "This app is not allowed to query for scheme installpatch"
App not installed
我已经使用像
mailto
这样的 URL 方案测试了该方法。没关系。我哪里错了?
最佳答案
您可能需要将以下 key 添加到您的 Info.plist
文件在您的查询应用 与您想要的 URL 方案列表 -canOpenURL(_:)
在一天结束的时候。
LSApplicationQueriesSchemes
这就是它在 Xcode 中的一般外观:
您需要确保您的方案在此列表中,例如
"testapp"
根据您的 OP。注意:您可以在 Apple's site 上阅读有关该 key 的更多信息.
关于iOS - 自己的 URL Scheme 并测试它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935179/