Wie können Sie Funktionen von iOS6 in einer App unterstützen, bei der Minimal Deployment Target
auf iOS 5.0 eingestellt ist?
Wenn ein Benutzer beispielsweise iOS 5 hat, wird er ein UIActionSheet
sehen, wenn der Benutzer iOS 6 hat, wird er ein anderes UIActionSheet
für iOS 6 sehen? Wie machst Du das?
Ich habe Xcode 4.5 und möchte eine App unter iOS 5 laufen.
Sie sollten immer lieber verfügbare Methoden / Features als iOS-Versionen erkennen und dann davon ausgehen, dass eine Methode verfügbar ist.
Siehe Apple-Dokumentation .
In iOS 5 würden wir beispielsweise einen Modal View-Controller anzeigen:
%Vor% In iOS 6 ist die presentModalViewController:animated:
-Methode von UIViewController
Veraltet, Sie sollten presentViewController:animated:completion:
in iOS 6 verwenden, aber woher wissen Sie, wann was zu verwenden ist?
Sie könnten eine iOS-Version erkennen und ein if-Statement diktieren, wenn Sie das erstere oder das letzte verwenden, aber dies ist fragil, Sie werden einen Fehler machen, vielleicht wird ein neueres Betriebssystem in Zukunft einen neuen Weg haben, dies zu tun.
Der richtige Umgang damit ist:
%Vor%Sie könnten sogar argumentieren, dass Sie strenger sein sollten und etwas wie:
tun sollten %Vor% Ich bin nicht sicher über Ihr UIActionSheet
-Beispiel, soweit mir bekannt ist, ist dies unter iOS 5 und 6 dasselbe. Vielleicht denken Sie an UIActivityViewController
für die Freigabe und möchten vielleicht auf ein% zurückfallen. co_de%, wenn Sie auf iOS 5 sind. Sie können also prüfen, ob eine Klasse verfügbar ist, siehe hier wie man das macht.
Tags und Links objective-c iphone ios xcode iphone-5