iOS 3.x-Unterstützung in Xcode 4
Ist es möglich, schreib-apps, die Unterstützung von iOS 3.x-Versionen mit Xcode 4? Wenn ja, wie? Und hat Apple keine offiziellen Empfehlungen für app-rückwärts-Kompatibilität?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um Ihre app erfolgreich führen in iOS 3.x-Gerät, gehen Sie folgendermaßen vor (Xcode 4.2):
Klicken Sie auf Ihren Projektnamen, wählen Sie Ihr Ziel und unter "Build-Einstellungen"
a) stellen Sie den "iOS-Entwicklung-Ziel" (unter "Deployment") auf 3.0
b). Hinzufügen "armv6" auf die Liste der "Architekturen" (unter "Architekturen").
c) Setzen Sie "Other Linker Flags" (unter "Verknüpfung") auf "-schwach-lSystem".
In Ihrem Info.plist-Datei, entfernen Sie den Wert "armv7" von "Erforderlichen Geräte-Funktionen" (UIRequiredDeviceCapabilities).
In Ihrem code:
a). Verwenden Sie nicht
userInterfaceIdiom
. Wenn Sie brauchen, um zu wissen, welches Gerät ist es (iPhone oder iPad), siehe Wie bekommt man UI_USER_INTERFACE_IDIOM (), um mit dem iPhone OS SDK < 3.2.b) verwenden Sie keine Fenster.rootViewController. Stattdessen
[window addSubview: self.mainViewController.view];
fügen Sie Ihre Haupt-controller-Ansicht an Fenster.Klicken Sie auf Ihren Projektnamen, wählen Sie Ihr Ziel und unter "Build Phases" /"Link-Binary Mit Bibliotheken" set "UIKit.Rahmen" auf "Optional". Auch auf optional gesetzt irgendwelche zusätzlichen Rahmen, die nicht in iOS 3. Zum Beispiel, wenn Sie mit iAd oder Twitter frameworks sollten Sie auf optional gesetzt werden. Überprüfen Sie die Verfügbarkeit der zusätzliche Rahmen in Ihrem code, bevor Sie es verwenden.
Beim laufen auf einem echten Gerät zu kompilieren app gegenüber der letzten version des SDK. Dazu wählen Sie den zweiten Eintrag aus der "Scheme" drop-down (andernfalls bekommen Sie kompilieren Fehler über die optionale SDKs):
self.window.rootViewController = self.viewController;
mit[self.window addSubview: self.viewController.view];
im AppDelegate.mJa, können Sie apps entwickeln, die Unterstützung von früheren iOS-Versionen mit der aktuellen iOS-SDK.
Für die offiziellen Empfehlungen finden Sie in der Apple SDK Compatibility Guide.
Den Xcode-version, die Sie verwenden, ist nicht im Zusammenhang mit der iOS-version, die Ihre app unterstützt. Wählen Sie die iOS-version, die Ihre app unterstützt, ändern Sie einfach die iOS deployment target in den Einstellungen Ihres Projektes. Dann nur darauf achten, dass keine APIs von Versionen höher als das.
sicher zu sein, können Sie mit Xcode 4 für targeting von iOS 3.x als deployment target, aber Sie werden nicht in der Lage zu simulieren Ihr Programm auf ein iOS 3.x SDK simulator. So sind Sie ziemlich auf eigene Faust (d.h., wenn Sie mit iOS 4.x-Funktion nur, Sie finden nicht heraus, bis du den test auf einem physischen Gerät).
Müssen Sie eine ältere version von Xcode Debuggen gegen eine ältere simulierten SDK.