2015-11-05 10 views
6

Ich verwende Startbildschirm-Schnellaktionen, die nur in IOS9 unterstützt werden. Die Verwendung der Konstante UIApplicationLaunchOptionsShortcutItemKey stürzt ab, wenn sie in IOS8 verwendet wird. Was ist der richtige Weg zu prüfen, ob schnelle Aktionen unterstützt werden?Überprüfen der Verfügbarkeit von Schnellaktionen

Ein Weg ist zu überprüfen, IOS9 durch SystemVersion, aber ich hoffe, es gibt einen besseren Weg. [[UIDevice currentDevice] systemVersion]

Antwort

8

In Ziel C können Sie überprüfen, ob eine Klasse existiert. Sagen Sie etwas wie

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

ich bei Swift denke, der beste Weg, um die API Verfügbarkeit zu überprüfen Automatic operating system API availability checking ist das neue Feature mit iOS9 und Swift2 freigegeben ist

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

#available wird prüfen, ob wir iOS 9 oder höher verwenden oder irgendeine andere unbekannte Plattform wie watchOS, also ist die * auch hier.

Wenn sich Ihr Code in einer Funktion befindet, können Sie #available mit guard so verwenden.

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

Markieren Sie Ihre Methoden und Klasse sowie wie

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

@available funktioniert ähnlich wie #available so Wenn Ihre Bereitstellung Ziel iOS7 oder weniger als 9 ist, kann man nicht nennen, dass useMyStackView()

+0

1+ für eine wirklich gute Antwort auf swift – Toydor

Verwandte Themen