iOS - 拥有 URL 方案并进行测试
iOS - Own URL Scheme and test it
我的目标是测试应用程序是否安装在非越狱设备中。
首先,我尝试使用自己制作的两个应用程序。
TestApp 是我要检查的应用程序,是否已安装。
CheckApp 是提供检查的应用程序。
如果我理解的话,围绕我的目标的基本想法是利用 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
我已经用 URL 方案测试了这个方法,比如 mailto
,没问题。
我哪里错了?
您可能需要将以下密钥添加到 CheckApp 中的 Info.plist
文件中,其中包含您想要的 URL 方案列表-canOpenURL(_:)
在一天结束时。
LSApplicationQueriesSchemes
这就是它在 Xcode 中的一般外观:
您需要确保您的方案在此列表中,例如"testapp"
根据您的OP。
注意: 您可以在 Apple's site.
上阅读有关该键的更多信息
我的目标是测试应用程序是否安装在非越狱设备中。
首先,我尝试使用自己制作的两个应用程序。
TestApp 是我要检查的应用程序,是否已安装。
CheckApp 是提供检查的应用程序。
如果我理解的话,围绕我的目标的基本想法是利用 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
我已经用 URL 方案测试了这个方法,比如 mailto
,没问题。
我哪里错了?
您可能需要将以下密钥添加到 CheckApp 中的 Info.plist
文件中,其中包含您想要的 URL 方案列表-canOpenURL(_:)
在一天结束时。
LSApplicationQueriesSchemes
这就是它在 Xcode 中的一般外观:
您需要确保您的方案在此列表中,例如"testapp"
根据您的OP。
注意: 您可以在 Apple's site.
上阅读有关该键的更多信息