Xcode 3.2 menyediakan fitur baru yang luar biasa di bawah menu Build, "Build and Archive" yang menghasilkan file .ipa yang cocok untuk distribusi Ad Hoc. Anda juga dapat membuka Organizer, buka "Aplikasi yang Diarsipkan," dan "Kirim Aplikasi ke iTunesConnect."
Apakah ada cara untuk menggunakan "Build and Archive" dari baris perintah (sebagai bagian dari skrip build)? Saya berasumsi bahwa xcodebuild
itu akan terlibat entah bagaimana, tetapi man
halaman tampaknya tidak mengatakan apa-apa tentang ini.
PEMBARUAN Michael Grinich meminta klarifikasi; inilah yang sebenarnya tidak dapat Anda lakukan dengan build-line perintah, fitur yang HANYA dapat Anda lakukan dengan Xcode's Organizer setelah Anda "Build and Archive."
- Anda dapat mengklik "Bagikan Aplikasi ..." untuk membagikan IPA Anda dengan penguji beta. Seperti yang ditunjukkan Guillaume di bawah ini, karena beberapa keajaiban Xcode, file IPA ini tidak memerlukan file .mobileprovision yang didistribusikan secara terpisah yang harus diinstal oleh penguji beta; itu ajaib. Tidak ada skrip baris perintah yang bisa melakukannya. Misalnya, skrip Arrix (dikirim 1 Mei) tidak memenuhi persyaratan itu.
- Lebih penting lagi, setelah Anda menguji versi beta sebuah build, Anda dapat mengklik "Kirim Aplikasi ke iTunes Connect" untuk mengirimkan versi EXACT yang sama ke Apple, biner yang Anda uji, tanpa membangunnya kembali. Itu tidak mungkin dari baris perintah, karena menandatangani aplikasi adalah bagian dari proses pembuatan; Anda dapat menandatangani bit untuk pengujian beta Ad Hoc ATAU Anda dapat menandatanganinya untuk diserahkan ke App Store, tetapi tidak keduanya. Tidak ada IPA yang dibangun pada command-line yang dapat diuji beta pada ponsel dan kemudian dikirimkan langsung ke Apple.
Saya ingin seseorang datang dan membuktikan saya salah: kedua fitur ini bekerja sangat baik di GUI Xcode dan tidak dapat direplikasi dari baris perintah.
xcodebuild
. Membuat file IPA hanya melibatkan menempatkan aplikasi ke direktori bernama "Payload", zip direktori itu, dan mengganti nama ke MyAppName.ipa.