6

我正在使用仅在IOS9. 如果UIApplicationLaunchOptionsShortcutItemKeyIOS8. 检查是否支持快速操作的正确方法是什么?

一种方法是IOS9通过 systemVersion 检查,但我希望有更好的方法。 [[UIDevice currentDevice] systemVersion]

4

3 回答 3

8

在目标 C 中,您可以检查一个类是否存在。说类似

if([UIApplicationShortcutItem class]){
//Handle shortcut launch
}
于 2015-11-05T12:40:02.090 回答
2

我认为Swift检查API可用性的最佳方法是Automatic operating system API availability checking发布的新功能iOS9Swift2

if #available(iOS 9, *) {
    // use UIApplicationLaunchOptionsShortcutItemKey
} else {
    // no available
}

#available将检查我们是否使用 iOS 9 或更高版本,或任何其他类似watchOS的未知平台,*也在这里。

如果您的代码在函数内部,那么您可以像这样使用#availablewith guard

guard #available(iOS 9, *) else {
    return
}

标记您的方法和类以及喜欢

@available(iOS 9, *)
func useMyStackView() {
    // use UIStackView
}

@available#availableso 类似如果您的部署目标是iOS7或小于 9,则不能调用它useMyStackView()

于 2015-11-05T12:26:44.473 回答
0

对于 Objc,它也可以@available (iOS 9, *)用来检查操作系统版本

if (@available(iOS 9, *)) {
    //use UIApplicationLaunchOptionsShortcutItemKey
}
于 2018-03-23T03:03:22.270 回答