iOS
Swift
Swift2.0

Swift APIのavailabilityチェックはextensionでもできた〜

More than 1 year has passed since last update.

状況に応じて #available@available を使うことで、OSのバージョンによって処理を分けることができます。が、今日、コードを書いていてこれがextension単位でも効くことを知りました。

ドキュメントにも載ってる頻出の使い方

guard #available(iOS 8.0, OSX 10.10, *) else { return }
@available(iOS 8.0, OSX 10.10, *)
func useShinyNewFeature() {
    // ...
}

extensionでも使える

// MARK:-
// MARK: SHORTCUT
@available(iOS 9.0, *)
extension AppDelegate {
    func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
        ...
    }
}

これはちょっとうれしかった。

参考