2012-06-11 8 views
9

Kann ich in iOS 6 eingeführte APIs und Frameworks in einer App verwenden, die frühere iOS-Versionen unterstützt?iOS 6 APIs und Abwärtskompatibilität

ist dies nur möglich durch Umgehungen und Code wie:

[[UIDevice currentDevice] systemVersion] 

Oder würde ich aktualisiert Frameworks verwenden können, APIs etc. in einer Anwendung, die ohne Angabe der Version früheren Versionen von iOS unterstützt?

Und wäre ich auch in der Lage, Xcode 4.5 zu verwenden, oder müsste ich mich an die aktuelle öffentliche Version halten?

+0

Oh, und wenn Sie einen hohen Ruf haben, könnten Sie das iOS 6-Tag hinzufügen? –

Antwort

18

Sie können keine App, die iOS 6 Funktionen verwendet, versenden, bis das Betriebssystem und die Toolchain endgültig sind. (Update: Das iOS 6-Betriebssystem und SDK sind nun endgültig.)

An diesem Punkt sollten Sie das iOS 6 SDK verwenden und Ihr Implementierungsziel auf eine frühere Version von iOS 5 festlegen. Sie werden die Systemversion nicht überprüfen. aber eher schwach verlinken Sie die neuen Frameworks und testen Sie auf das Vorhandensein bestimmter Klassen oder Methoden, bevor Sie diese verwenden, etc.

Ein zusätzlicher Kniff ist, dass mit den iOS 6 Tools und dem SDK keine armv6-Geräte mehr unterstützt werden können. Sie können das iPhone 3GS und später sowie jedes Modell des iPads unterstützen, nicht jedoch das iPhone 3G und das ursprüngliche iPhone. Aber selbst mit einer Legacy-App sollten Sie nicht mehr darauf abzielen.

Referenzen:

  • SDK Compatibility Guide: „Lesen Sie dieses Dokument, wenn Sie Ihre Anwendung eine bestimmte Version oder mehrere Versionen von iOS oder Mac OS X zum Ziel“