我正在尝试从部署目标为8.1的应用程序中打开Yelp
我面临的问题是我的代码无法在模拟器上正确评估。我的设备是iOS 10.3,在该设备上运行正常(Yelp打开),但是我需要检查一下是否可以在旧版iOS的模拟器上运行!
let urlStr: String = "yelp://"
let url = URL(string: urlStr)
if UIApplication.shared.canOpenURL(url!) {
print("can open")
if #available(iOS 10.0, *) {
print("10")
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
} else {
print("NOT 10")
UIApplication.shared.openURL(url!)
}
}
else {
// Can not open URL
print("can not open url")
}
在模拟器(iOS 8.1)中,以下内容将打印到控制台:
can open
NOT 10
但是,这是错误的!Yelp未安装在模拟器上-但如果是这种情况,将无法print("can not open url")
评估?
这是info.plist中的URLTypes / LSApplicationQueriesSchemes。
我上面的代码有什么问题吗?如何在模拟器上正确测试Yelp的打开状态,在那里我可以对各种iOS版本(从8.1开始)进行质量检查?谢谢朋友。
true
之所以返回,是因为在您的URL方案中有一个项目yelp
,基本上,系统会在您调用时尝试打开自己的应用程序openURL
。更改该项目并再次测试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句