Frage

Ich weiß, dass Teile dieser Frage in verschiedenen Variationen gestellt wurden, aber ich möchte sicherstellen, dass ich sie richtig verstanden habe.

Hier sind meine Annahmen und Verständnisse, von denen ich vor dem Absenden wissen möchte, ob sie korrekt sind.

Meine Anwendung setzt Funktionen voraus, die von allen Betriebssystemen unterstützt werden. Daher sollte ich Folgendes tun:

  1. Stellen Sie das aktive SDK auf das neueste ein (derzeit SDK 3.0).
  2. Legen Sie das Bereitstellungsziel auf den niedrigeren Wert fest, den ich unterstützen möchte – iPhone 2.0 und höher?
  3. Wozu dient das Basis-SDK genau?Sollte ich es ignorieren, wenn ich Active SDK anders gewählt habe und wo sehe ich das Active SDK in den Projekteinstellungen?

Eine letzte Frage: Erlaubt Apple, iPhone OS 2.0 als Bereitstellungsziel auszuwählen?

Dank im Voraus,

Übrigens – einer meiner Hauptgründe für diese Frage ist, dass Apple beim Kompilieren mit früheren SDKs offenbar ein Problem damit hat, den Speicher für das UIImageView-Animationsarray freizugeben, wenn diese Animation für die mehrfache Verwendung gespeichert wurde.Dies ist ein bekanntes Problem, das mit SDK 3.0 behoben wurde (durch einfaches Setzen des UIImageView-Animationsarrays auf Null).

War es hilfreich?

Lösung

Der Unterschied zwischen dem Basis-SDK und dem aktiven SDK besteht darin, dass ersteres das Standard-SDK für das Projekt ist und letzteres das SDK ist, auf dem Sie gerade aufbauen.Daher ist es möglich, dass Ihr aktives SDK das Basis-SDK ist. Zu diesem Zeitpunkt verwendet XCode das SDK, das Sie für das Projekt angegeben haben.

Um Ihre App für die größtmögliche Anzahl an Geräten zu erstellen, haben Sie Recht:

  • Stellen Sie das Basis-SDK auf das neueste mögliche SDK ein (3.0, 3.0.1).
  • Legen Sie das Bereitstellungsziel auf das frühestmögliche SDK fest (2.0).

Apple erlaubt Ihnen zwar, das iPhone 2.0 als Bereitstellungsziel anzugeben, aber bedenken Sie, dass alle APIs oder Frameworks, die nach dem iPhone 2.0 veröffentlicht wurden, Ihnen standardmäßig nicht zur Verfügung stehen.Es gibt Techniken zur Verwendung von Funktionen aus späteren SDKs, sie sind jedoch nicht trivial.

Andere Tipps

Sie sollten die Basis SDK Build-Einstellung auf die neueste SDK festgelegt, die alle Funktionen enthält, die Sie verwenden möchten (in der Regel, die neueste verfügbare SDK), und stellen Sie die „iPhone Deployment Ziel“ Build-Einstellung auf die früheste Version von das Betriebssystem, auf das Sie ausführen möchten.

Sie müssen dann sicherstellen, dass Sie überprüfen, zur Laufzeit, für alle Funktionen, die nicht auf den früheren OSes existieren können.

„Basis-SDK“ ist das Maximum SDK Sie Anwendung unterstützen kann. Es gibt eine harte Grenze hier -. Sie keine Zukunft, nicht freigegebene SDK auswählen

„Deployment Ziel“ ist das Minimum SDK Sie bereit sind, zu unterstützen. Es, wie weit zurück in der Zeit sind Sie bereit zu gehen.

Xcode scheint eine falsche Abhängigkeit von zu schaffen „Deployment Target.“ Zum Beispiel kann ich nicht entwickeln auf meinen iOS 5.1.1 iPod mit Xcode 4.5.2 (Xcode 4.5.2 mit iOS gepaart 6,0), obwohl der 4.3, 5.0 und 5.1 APIs und Simulatoren sind auf dieser Installation installiert. Ich brauche den Simulator oder Buchse in meinen iOS 6.0 iPhone verwenden.

Die Spiele von Apple abgespielt wird, erscheint verursacht Probleme mit Anwendungen werden auch. Meine erworbene Kopie der Elemente wird nicht Synchronisierung über iTunes auf den iPod, weil Elemente eine neuere Version von iOS muss ausgeführt werden (es Synchronisierungen und läuft auf meinem iOS 6.0 iPhone).

Ich habe zwei iPads bekam und man ist 4.3. Ich schaudere bei dem Gedanken, was für ein Chaos es führen wird.

Generell;

Stellen Sie die BASE SDK, auf den aktuellen SDK Sie bereit sind, zu Support und Test.

Stellen Sie das Implementierungsziel auf die niedrigste Version von iOS Sie bereit sind, zu unterstützen und zu testen.

Wenn Sie Base-SDK verfügt nicht verfügbar auf dem Implementierungsziel SDK passieren zu verwenden, die App zur Laufzeit auf älteren Geräten zum Absturz, so Tests entscheidend ist.

Eine Alternative / ergänzende Verfahren Deploymate http://www.deploymateapp.com/ zu verwenden, wäre die hat statische Code-Analyse-Probleme zu identifizieren.

Wenn Sie aus der Android-Welt sind die Analogien sind solche;

TargetSDK -> Basis SDK

MinSDK -> Deployment Ziel

Lint -> Deploymate

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top