Pertanyaan Membedakan versi aplikasi pengembangan iPhone


Saya ingin menyimpan versi iPhone app yang dibeli di toko di ponsel saya sehingga saya dapat mereproduksi masalah pelanggan apa pun yang muncul, tetapi saya jelas juga ingin menjalankan versi pengembangan terbaru. Saya dapat menginstal keduanya (satu dari iTunes, satu dari xCode), tetapi saya tertarik dengan cara yang lebih baik untuk membedakan keduanya. saya bisa cukup ubah nama atau ikon untuk sementara, tetapi itu tidak tampak sangat gagal, yaitu saya mungkin lupa dan mengirimkannya dengan ikon yang salah.

Apakah ada cara pengembang funtime yang senang melakukan ini?


4
2017-07-09 16:49


asal


Jawaban:


Saya terinspirasi oleh ide Eric menambahkan pengaturan yang ditetapkan pengguna untuk proyek tetapi saya tidak ingin menjalankan skrip setiap kali saya membangun proyek.

Kami tahu bahwa iPhone mencari file ikon bernama "Icon.png" secara default. Ternyata pengaturan "Ikon File" di plist proyek tidak diperlukan sama sekali jika Anda telah menamai ikon Anda dengan benar. Namun, jika tidak ada file bernama "Icon.png" dalam proyek, xCode melihat nilai pengaturan "Ikon File".

Saya menetapkan pengaturan yang ditentukan pengguna dalam "Debug" yang disebut "Icon_Name" ke nama ikon non-standar, "DevIcon.png" dan "ReleaseIcon.png" untuk konfigurasi "Rilis". Pengaturan "Ikon File" dalam proyek sekarang dapat diatur ke $ {ICON_NAME} dan akan mengambil nilai dari file konfigurasi apa pun yang kami gunakan. Sekarang membangun di bawah dua konfigurasi yang berbeda tidak menggunakan dua ikon yang berbeda.

Edit: Untuk banyak ikon (res tinggi, kecil, ipad, dll) saya membuat pendekatan yang sedikit berbeda. Pengaturan yang ditentukan pengguna sekarang adalah "IconPrepend" yang merupakan "Dev" untuk debug dan "Rilis" untuk konfigurasi rilis. Saya sekarang menggunakan "Ikon File" (bukan "Ikon File") di info plist yang mengambil serangkaian string. Setiap string ditambahkan dengan $ {ICONPREPEND} sehingga konfigurasi debug mencari "DevIcon.png" atau "DevIcon@2x.png" dan lepaskan konfigurasi mencari "ReleaseIcon.png" atau "ReleaseIcon@2x.png".


7
2017-07-09 18:08



Berikut adalah ide - jika Anda menetapkan Pengaturan Buatan Pengguna di properti Proyek Build untuk Debug hanya sepanjang garis USE_DEV_ICON = YES (atau sesuatu). Kemudian, dengan menggunakan opsi "Run Script" di Build Target Anda, Anda dapat menyalin berbagai ikon berdasarkan pada Konfigurasi Aktif yang Anda panggil.

Sesuatu di sepanjang baris (pseudo-code):

if ($USE_DEV_ICON == YES)
    cp DevIcon.png Icon.png
else
    cp RealIcon.png Icon.png

Kemudian setiap kali Anda membangun, tergantung pada konfigurasi aktif, itu akan menyalin ikon yang benar.


1
2017-07-09 17:27



Kemungkinan besar tidak ada jalan lain. Versi toko aplikasi dan versi pengembangan Anda benar-benar berbeda dengan OS. Jika Anda ingin membedakan, Anda perlu mengubah ikon atau nama. Anda juga dapat menyertakan beberapa label debugging (mis. Nomor versi) dalam versi pengembangan Anda, tetapi Anda juga mungkin lupa untuk menghapus ini.


0
2017-07-09 17:01



Mungkin Anda baru saja membeli iPhone kedua? Serius Di tempat Anda, saya akan mengajukan pertanyaan yang sama seperti Anda, tetapi saya pasti akan mengambil solusi seperti itu dalam pikiran. Jika saya adalah pengembang iPhone (atau platform khusus apa pun lainnya), kemungkinan besar saya memiliki lebih dari satu.


0
2017-07-09 17:07



Tidak bisakah Anda membuat target baru yang memiliki nama Bundle yang berbeda di file Info.plist, dan menggunakan target ini kapan pun Anda ingin membangun aplikasi untuk berjalan di iPhone Anda?


0
2017-07-09 23:34