我正在使用主屏快速操作,仅在IOS9
中受支持。 如果在IOS8
中使用常数UIApplicationLaunchOptionsShortcutItemKey
将会崩溃。 检查是否支持快速操作的正确方法是什么?检查快速操作可用性
一种方法是通过systemVersion检查IOS9
,但我希望有更好的方法。 [[UIDevice currentDevice] systemVersion]
我正在使用主屏快速操作,仅在IOS9
中受支持。 如果在IOS8
中使用常数UIApplicationLaunchOptionsShortcutItemKey
将会崩溃。 检查是否支持快速操作的正确方法是什么?检查快速操作可用性
一种方法是通过systemVersion检查IOS9
,但我希望有更好的方法。 [[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
和guard
这样。
guard #available(iOS 9, *) else {
return
}
马克你的方法和类,以及像
@available(iOS 9, *)
func useMyStackView() {
// use UIStackView
}
@available
作品同样如此#available
如果你的部署目标为iOS7
或小于9,你不能调用useMyStackView()
1+为一个非常好的答案迅速 – Toydor