2015-11-05 66 views
6

我正在使用主屏快速操作,仅在IOS9中受支持。 如果在IOS8中使用常数UIApplicationLaunchOptionsShortcutItemKey将会崩溃。 检查是否支持快速操作的正确方法是什么?检查快速操作可用性

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

回答

8

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

if([UIApplicationShortcutItem class]){ 
//Handle shortcut launch 
} 
2

我想在Swift情况下检查API可用性的最佳方法是Automatic operating system API availability checking这与iOS9Swift2发布新功能

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

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

如果你的代码是在一个函数中,那么你可以使用#availableguard这样。

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

马克你的方法和类,以及像

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

@available作品同样如此#available如果你的部署目标为iOS7或小于9,你不能调用useMyStackView()

+0

1+为一个非常好的答案迅速 – Toydor