6

でのみサポートされているホーム画面のクイック アクションを使用していますIOS9。で定数UIApplicationLaunchOptionsShortcutItemKeyを使用するとクラッシュしIOS8ます。クイック アクションがサポートされているかどうかを確認する正しい方法は何ですか?

1 つの方法は、IOS9systemVersion で確認することですが、もっと良い方法があることを願っています。 [[UIDevice currentDevice] systemVersion]

4

3 に答える 3

8

Objective C では、クラスが存在するかどうかを確認できます。のようなことを言う

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

可用性Swiftを確認するための最良の方法の場合、それはと でリリースされた新機能だと思いますAPIAutomatic operating system API availability checkingiOS9Swift2

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

#availableiOS 9以降を使用しているかどうか、またはその他の未知のプラットフォームを使用しているかどうかを確認する予定watchOSです*

コードが関数内にある場合は、#availableこのguardように使用できます。

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

メソッドとクラスを同様にマークします

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

@available同様に動作する#availableため、展開ターゲットがiOS79以下の場合、それを呼び出すことはできませんuseMyStackView()

于 2015-11-05T12:26:44.473 に答える