2010-05-19 9 views
7

Ich habe ein Projekt konfiguriert (denke ich), um Universal-Binärdateien zu produzieren. Das Basis-SDK ist auf 3.2 festgelegt und das Implementierungsziel ist auf 3.1 festgelegt. Target Device Familie ist iPhone/iPad und die Architektur ist armv6 armv7.Erstellen/Testen einer universellen iPhone/iPad-Anwendung

hatte ich ein paar Fragen darüber, wie diese Universal Binary, was wirklich funktioniert:

1) Wenn ich eine App binäre zur Überprüfung einreichen möchten, welche Konfiguration sollte ich als Build-Ziel gesetzt? Wenn ich es als "Device - 3.1" einstelle, erhalte ich eine Warnung, die "warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK" sagt. Aber, wenn ich mit SDK 3.2 baue, wird es immer noch auf iPhones mit OS 3.1 laufen? Was ist die richtige Konfiguration für Gerät und Architektur (arm6/arm7)?

2) Wie kann ich das obige Szenario testen (mit SDK 3.2 erstellt, aber auf einem Gerät mit OS 3.1 installiert)? Wenn ich mit SDK 3.2 baue, wenn ich versuche, es auf einem Telefon mit OS 3.1 zu installieren, bekomme ich eine Fehlermeldung, dass das Betriebssystem des Telefons nicht aktualisiert wird.

Danke!

Antwort

13

Unsere erste Universal-App wurde gerade genehmigt und im App Store heute veröffentlicht wurde, so sind hier die Einstellungen, die wir erfolgreich eingesetzt:

Architekturen
Architekturen: Optimiert (ARMv6 ARMv7)
Basis SDK: iPhone Gerät 3.2
Nur aktive Architektur erstellen: nicht markiert
Valid Architekturen: (leer)

Deployment
Gezielte Gerätefamilie: iPhone/iPad
iPhone OS Deployment Ziel: iPhone OS 3.0
(Sie dies jedes iPhone 3 einstellen. x OS aber wir wollten die ältesten möglichen Geräte anvisieren. Dies muss 3.0 oder höher sein, 2.x ist nicht gültig für eine Universal App.)

Stellen Sie sicher, dass Sie auch diese Einstellungen für das Ziel selbst überprüft haben (Projekt-> Aktives Ziel "AppName" bearbeiten); Meine anfänglichen Probleme beim Hochladen auf iTunes Connect waren, weil das iPhone OS-Bereitstellungsziel für das Ziel selbst noch auf 2.2.1 eingestellt war.

+0

Vielen Dank das ist, was ich gesucht habe, haben Sie Base SDK 3.0 auch eingestellt? – Leg10n

+0

Nein, Base SDK ist 3.2 und iPhone OS Deployment Target ist auf 3.0 (oder höher) eingestellt.Das haben wir für unsere erste Universal App gemacht. – hjd

+1

Hinweis - Um die Anwendung im Simulator auszuführen, setzen Sie das Active SDK auf 3.0 bis 3.1.3 und wählen Sie Ausführen> Ausführen – jrtc27

0

Der Schlüssel scheint also zu sein, dass die Einstellung "Architectures" auf "Optimized (arm6 arm7)" gesetzt wird, zusätzlich zu der Einstellung "Valid Architectures", die auf "armv6 armv7" eingestellt ist.

Dies ermöglicht es mit dem 3.2 SDK zu kompilieren und auf einem iPhone mit 3,1

Die Einstellungen, die ich in meiner Frage habe, zusätzlich zu dieser obigen Änderung läuft, scheint zu sein, was nötig ist die App für die Vorlage zu konfigurieren als universelle Binärdatei. Ich habe es noch nicht gemacht, aber ich bin ziemlich zuversichtlich.

Bitte korrigieren Sie mich, wenn ich falsch liege.

Verwandte Themen