2012-06-22 6 views
24

È possibile esportare le impostazioni di generazione xcode nel file .xcconfig? Oltre a copiare e incollare il file di testo riga per riga. Grazie!Esiste un modo per esportare le impostazioni di generazione xcode nel file .xcconfig?

+2

Ecco uno script scritto dall'ex ingegnere Apple James Dempsey che automatizza il processo di estrazione dei dati e generazione dei file: http://jamesdempsey.net/2015/01/31/generating-xcode-build-configuration-files- con-buildsettingextractor-xcodeproj-to-xcconfig /. Se il link sopra indicato dovesse diventare non valido, puoi anche provare a scaricare la sorgente dello script direttamente da github: https://github.com/dempseyatgithub/BuildSettingExtractor – xdeleon

risposta

52

Questa risposta SO mi ha aiutato.

Mostra il contenuto della confezione del vostro file di progetto (MyProject.xcodeproj) da due dita clic su di esso nel Finder, quindi aprire il file 'project.pbxproj' in un editor di testo.

Cercare la sezione XCConfigurationList. Inizia con /* Begin XCConfigurationList section */. Troverai tutti i tuoi obiettivi e le loro rispettive builConfigurations. Ora esegui una ricerca (comando - f) sull'ID esadecimale lungo per trovare l'altra occorrenza nel file project.pbxproj in cui dovresti trovare anche le impostazioni build. Copia e incolla tutto tra le parentesi buildSettings nel tuo file xcconfig. Sarà quindi necessario massaggiare alcune variabili, in particolare gli elenchi dei percorsi di ricerca.

In alternativa, è possibile utilizzare xcodebuild dalla riga di comando:

primo a elencare i vostri schemi:

xcodebuild -list

Poi esportare le impostazioni del vostro schema desiderato:

xcodebuild -scheme "schemeName" -showBuildSettings >> mynew.xcconfig

Sarà quindi necessario eliminare la prima riga o commentarla

4

Non è necessario copiare e incollare riga per riga. Puoi selezionare tutto e copiare tutte le linee contemporaneamente. L'unica restrizione è che non è possibile copiare le righe con <multiple values> come valore. Cioè, se hai un'impostazione che specifica un valore diverso per entrambi, Debug e Release, ecc. Devi deselezionare solo quella linea (cmd-clic) per copiare.