2016-08-02 86 views
4

此前我使用XCode 8 beta 3并在iOS 10设备上进行测试。但是现在我想让我的应用支持以前的iOS版本。当我试图减少从项目设置部署目标后,在iOS上运行9设备,这种特殊的方法是显示错误,因为它仅适用于iOS的10.0或更高版本:在UIApplication.shared()。open()适用于iOS 9或更低版本的替代方法是什么?

UIApplication.shared().open((url as URL), options: [:], completionHandler: nil) 
+0

看到这一次http://stackoverflow.com/questions/25945324/swift-open-link-in-safari –

+1

我认为这是一个有效的问题与标记的重复分开 - 未来另一个问题可能应该更新为iOS 10,而这一个是关于10和之前的区别。 (没有搜索,看看是否有其他的愚蠢,这是谷歌虽然第一) – CupawnTae

回答

12

使用下面的代码,因为它可用较低版本iOS

if UIApplication.sharedApplication().canOpenURL(url!) { 
    UIApplication.sharedApplication().openURL(url!) 
} 

夫特3.0 &上述

// for versions iOS 10 & above 
if UIApplication.shared.canOpenURL(url) { 
    UIApplication.shared.open(url, options: [:]) 
} 

// for versions below iOS 10 
if UIApplication.shared.canOpenURL(url) { 
    UIApplication.shared.openURL(url)) 
} 
+1

'UIApplication.shared.openURL(url!)'等在Swift 3 – CupawnTae