2011-09-06 14 views
6

Sto cercando di capire come creare una versione di rilascio della mia app Cocoa nel modo giusto.Binari diversi con "Archive" e "Build for Archiving" in Xcode4

Finora ho utilizzato l'opzione Build for Archiving e ho afferrato il pacchetto di app dal profondo della cartella DerivedData di Xcode.

Oggi ho provato il comando di menu Archive, e utilizzato Share per salvare la mia app bundle. Sembra più pulito e meno hacky. Scavare nella cartella DerivedData non sembra la cosa giusta da fare.

Ma ecco la cosa. I binari all'interno di questi due pacchetti di app non sono gli stessi. Per quanto posso vedere, si comportano allo stesso modo. Ma diff mostra che non sono uguali, e le loro dimensioni suggeriscono che ci sono più di differenze banali. Ad esempio, il mio binario di rilascio realizzato con "Build for Archiving" ha una dimensione di 29.576 byte. La versione "Archive" è solo 21.536 byte.

Archiviazione e archivio suono come dovrebbero essere fondamentalmente la stessa cosa. Perché sono diversi? Qual è il migliore"?

risposta

5

La differenza è che il comando Archive fa tutto quello costruire per l'archiviazione fa, più alcune azioni extra per fare un archivio adeguato. Se esegui Build for Archiving e Archivio, quindi visualizza Log Navigator (Cmd + 7), vedrai alcune righe aggiuntive per l'azione Archivio alla fine. In particolare esegue lo Strip sul tuo file binario, che rimuove tutti i simboli di debug da te binari, rendendoli così più piccoli.

+0

Questa è la risposta perfetta .. –