我想從我的應用程序有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