我正在使用仅在IOS9
. 如果UIApplicationLaunchOptionsShortcutItemKey
在IOS8
. 检查是否支持快速操作的正确方法是什么?
一种方法是IOS9
通过 systemVersion 检查,但我希望有更好的方法。
[[UIDevice currentDevice] systemVersion]
我正在使用仅在IOS9
. 如果UIApplicationLaunchOptionsShortcutItemKey
在IOS8
. 检查是否支持快速操作的正确方法是什么?
一种方法是IOS9
通过 systemVersion 检查,但我希望有更好的方法。
[[UIDevice currentDevice] systemVersion]
在目标 C 中,您可以检查一个类是否存在。说类似
if([UIApplicationShortcutItem class]){
//Handle shortcut launch
}
我认为Swift
检查API
可用性的最佳方法是Automatic operating system API availability checking
发布的新功能iOS9
和Swift2
if #available(iOS 9, *) {
// use UIApplicationLaunchOptionsShortcutItemKey
} else {
// no available
}
#available
将检查我们是否使用 iOS 9 或更高版本,或任何其他类似watchOS
的未知平台,*
也在这里。
如果您的代码在函数内部,那么您可以像这样使用#available
with guard
。
guard #available(iOS 9, *) else {
return
}
标记您的方法和类以及喜欢
@available(iOS 9, *)
func useMyStackView() {
// use UIStackView
}
@available
与#available
so 类似如果您的部署目标是iOS7
或小于 9,则不能调用它useMyStackView()
对于 Objc,它也可以@available (iOS 9, *)
用来检查操作系统版本
if (@available(iOS 9, *)) {
//use UIApplicationLaunchOptionsShortcutItemKey
}