canOpenURL打开其他应用 - 不工作的模拟器
问题描述:
我想从我的应用程序有8.1canOpenURL打开其他应用 - 不工作的模拟器
我所面临的问题部署目标中打开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上开始QA(从8.1开始)?谢谢朋友。
出于好奇 - 在调用'openURL'之后模拟器上会发生什么?另外,如果可能的话,至少要保留一台具有所支持的最低版本系统的设备。 – Losiowaty
你有与iOS 9.x或10.x模拟器相同的问题吗? – rmaddy
您可以尝试在模拟器中执行“重置内容和设置”,然后运行您的应用程序并查看它是否会给出相同的结果? – janusbalatbat