Xcode Jalankan skrip Build Tahap opsi "jalankan skrip hanya saat menginstal"

90

Ada opsi "jalankan skrip hanya saat menginstal" di Xcode Jalankan skrip Build Phase, saya tidak dapat menemukan dokumentasi tentang ini. Apa fungsinya?

Anugerah
sumber

Jawaban:

139

Dengan Jalankan skrip hanya saat menginstal dicentang, skrip hanya berjalan saat melakukan Arsip Produk.

vladof81.dll
sumber
12
Tidak saat membangun / memasang di perangkat? (Yaitu: CMD-Bmembangun & menjalankan ke perangkat fisik (bukan sim) dengan perangkat terpasang. Apakah itu tidak dihitung sebagai "saat memasang" untuk sakelar ini?)
Olie
6
Penginstalan debug di perangkat nyata (build & run dari Xcode) tidak dihitung sebagai "menginstal". Skrip yang dijalankan hanya berjalan saat pengarsipan (diuji dengan Xcode 9).
merembes ke
Sebenarnya ini hanya sebagian yang benar. Itu tergantung pada setelan DEPLOYMENT_PROCESSING. Saya mendasarkan ini dari menjalankan ini pada Xcode 10. Tampaknya ketika Anda mengarsipkan, DEPLOYMENT_PROCESSING diatur ke YES dan menimpa pengaturan untuk konfigurasi. Saya telah mengonfirmasi hal ini melalui pembuatan dan melihat pengaturan dalam output karena saya telah mengaktifkan "Tampilkan variabel lingkungan di log build".
Ponsel Ben
17

Dalam Panduan Sistem Pembuatan Xcode (Xcode 3.2.x), dikatakan:

Jalankan skrip hanya saat menginstal. Menjalankan skrip hanya selama build instal, yaitu saat menggunakan opsi instal xcodebuild atau saat setelan build Deployment Location (DEPLOYMENT_LOCATION) dan Deployment Postprocessing (DEPLOYMENT_POSTPROCESSING) aktif.

ericg
sumber
Kapan Anda membutuhkan / ingin ...? Saya sarankan membaca dokumentasi di DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING, & TARGET_BUILD_DIR.
ericg
1
Bacalah, tetapi untuk situasi apa orang menggunakannya?
Boon
15
Re: kapan Anda ingin menggunakan ini: Saya menggunakan flag ini pada skrip yang menaikkan nomor build, sehingga itu hanya terjadi pada build yang saya arsipkan untuk dikirim ke penguji beta (dan tidak setiap kali saya menjalankan aplikasi)
Wayne
1
Atau saat mengupload file simbol ke firebase atau crashlytics. Tidak perlu menguploadnya di setiap build debug.
merembes ke
Sebenarnya Fabric memberi tahu bahwa file simbol harus diunggah setiap bangunan. Ada cara yang lebih baik untuk mengonfigurasi pengunggahan dSYM. support.crashlytics.com/knowledgebase/articles/…
Nik Kov