2010-05-19 8 views
7

Ho un progetto configurato (credo) per produrre binari universali. L'SDK di base è impostato su 3,2 e la destinazione di distribuzione è impostata su 3.1. La famiglia di dispositivi di destinazione è iPhone/iPad e l'architettura è armv6 armv7.Creazione/test di un'applicazione universale iPhone/iPad

ho avuto un paio di domande su come questa cosa binario universale funziona davvero:

1) Quando voglio presentare un binario app per la revisione, quale configurazione Devo impostare come destinazione di build? Se lo metto come "Device - 3.1" ricevo un avviso che dice "warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK". Tuttavia, se costruisco con SDK 3.2, funzionerà ancora su iPhone con OS 3.1? Qual è la configurazione corretta per dispositivo e architettura (arm6/arm7)?

2) Come si esegue il test dello scenario sopra (creato con SDK 3.2, ma installato su un dispositivo con sistema operativo 3.1)? Se creo con SDK 3.2, quando provo a installarlo su un telefono con sistema operativo 3.1, viene visualizzato un errore che informa che il sistema operativo del telefono non è aggiornato.

Grazie!

risposta

13

La nostra prima App universale appena stato approvato e rilasciato su App Store di oggi, per cui qui sono le impostazioni che abbiamo usato con successo:

Architetture
Architetture: ottimizzata (ARMv7 ARMv6)
Base SDK: dispositivo iPhone 3.2
Creazione solo architettura attiva: deselezionata
Architetture validi: (vuoto)

distribuzione
mirato dispositivo Famiglia: iPhone/iPad
iPhone OS Deployment target: iPhone OS 3.0
(è possibile impostare questo a qualsiasi iPhone 3. x OS ma volevamo scegliere come target i dispositivi più vecchi possibili. Questo deve essere 3.0 o superiore, 2.x non è valido per un'app universale.

Assicurarsi di aver anche controllato queste impostazioni per il Target stesso (Progetto-> Modifica Target attivo "NomeApp"); i miei problemi iniziali durante il caricamento su iTunes Connect erano dovuti al fatto che la Target di distribuzione del SO iPhone per il Target stesso era ancora impostata su 2.2.1.

+0

Grazie, questo è quello che stavo cercando, hai impostato anche l'SDK di base su 3.0? – Leg10n

+0

Nope, Base SDK è 3.2 e iPhone OS Deployment Target è impostato su 3.0 (o superiore).Questo è quello che abbiamo fatto per la nostra prima App universale. – hjd

+1

note - per eseguire l'applicazione nel simulatore, impostare Active SDK su 3.0 a 3.1.3 e selezionare Esegui> Esegui – jrtc27

0

Quindi, la chiave sembra essere che l'impostazione "Architetture" sia impostata su "Ottimizzato (arm6 arm7)" in aggiunta all'impostazione "Architetture valide" impostata su "armv6 armv7".

Questo gli permette di compilare con il 3.2 SDK e girare su un iPhone in esecuzione 3.1

Le impostazioni che ho nella mia interrogazione, oltre a questo sopra cambiamento, sembra essere ciò che è necessario per configurare l'applicazione per la presentazione come un binario universale. Non l'ho ancora fatto, ma sono abbastanza fiducioso.

Per favore correggimi se sbaglio.