Untuk mendistribusikan aplikasi ke penguji kami, kami menggunakan Xcode, yang kami lakukan menggunakan proses berikut:
- Aplikasi arsip
- Bagikan untuk Ad-Hoc
- Pilih profil penyediaan
- Simpan .ipa ke folder
Tetapi dengan Xcode 6 , alur kerja ini sedikit berubah. Saya masih dapat memilih opsi distribusi Ad-Hoc, tetapi saya tidak dapat memilih profil penyediaan yang saya inginkan. Ini memberi kami kendali atas sertifikat penandatanganan yang digunakan dan konfigurasi profil penyediaan (kami menggunakan pemberitahuan push).
Secara default iPhone distribution
identitas penandatanganan digunakan dan beberapa jenis XC Ad Hoc
profil penyediaan dibuat, yang dapat dilihat pada gambar di bawah ini:
Jika Anda mengklik panah di dekat profil penyediaan, itu membuka folder dengan profil penyediaan.
Jadi pertanyaan saya adalah:
Apakah ada cara di Xcode 6 untuk memilih profil penyediaan yang digunakan dengan distribusi Ad Hoc?
Terima kasih!
Jawaban:
Saya menghadapi masalah yang sama, diselesaikan menggunakan command line "xcodebuild" tool script, yang sudah diinstal dengan Xcode 6 (tidak perlu menginstal ulang Xcode 5).
http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/
Script di terminal:
sumber
xcodebuild
tidak memiliki-exportProvisioningProfile
saklar.Saya memiliki masalah serupa ketika mengirimkan ke The App Store. Saya membuat arsip, lalu mengklik "kirim" dan Xcode ingin secara otomatis masuk dengan profil bawaan "XC com. *", Dan bukan profil eksplisit yang sudah ada.
Untuk mengatasinya, saya baru saja membuat ulang profil di Portal Pengembang Apple:
1) Buka developer.apple.com dan temukan profil penyediaan distribusi yang ingin Anda gunakan.
2) Pilih, klik "Edit", beri nama lagi profil, dan klik "Hasilkan".
3) Unduh profil bawaan ke Desktop dan seret ke ikon Xcode 6.
4) Mulai ulang Xcode 6.
5) Buka jendela penyelenggara dan klik "Kirim" pada arsip yang Anda buat. Xcode akan secara otomatis memilih profil eksplisit Anda daripada yang umum.
sumber
Setelah Anda berada di Organizer
Tentu saja Anda harus membuat, mengunduh, dan memasang profil penyediaan ad-hoc.
sumber
Tampaknya profil penyediaan yang dihasilkan terakhir menang saat ini. Jadi, Anda dapat membuat ulang profil yang Anda inginkan dan mengunduhnya dan Xcode akan menggunakannya.
Pendekatan yang sedikit lebih baik: tetapkan profil prov yang diinginkan di target Anda dan gunakan baris perintah untuk membangun ipa Anda, yang berfungsi juga.
Ini skripnya, saya menggunakan:
dan pengaturan saya:
sumber
Saya tidak bisa mengetahuinya - dapatkan sedikit ketika mengirimkan ke AppStore, di mana ia default ke profil wildcard.
Saya akhirnya membangun Xcode 6, lalu kembali ke jendela Organizer Xcode 5 untuk pengiriman. Dengan begitu itu akan meminta Anda untuk memilih profil untuk masuk.
sumber
Dalam Xcode 6 (setidaknya 6,1 saya gunakan sekarang) ketika Anda melakukan ekspor untuk ad hoc, xcode 6 akan secara otomatis memindai jika ada profil penyediaan berisi semua perangkat yang terdaftar di akun pengembang dan pada saat yang sama cocok dengan bundel ID . Jika tidak, itu akan menggunakan profil ketentuan XC. Karena itu, jika Anda ingin menggunakan profil Anda sendiri, misalnya, untuk tujuan pemberitahuan push, Anda harus memilih semua perangkat di profil Anda di portal pengembang apple. Saya kira itulah alasan mengapa beberapa orang membuat ulang profil akan bekerja dan beberapa tidak.
btw, gunakan skrip dapat mengekspor dan mengunggah ke testflight, tetapi perangkat tidak bisa mengunduhnya. mungkin di suatu tempat saya salah. jika ada yang tahu mengapa itu, tolong beri tahu saya. tks
sumber
Ini bekerja untuk saya:
sekarang Anda akan melihat nama profil penyediaan yang tepat.
sumber
Saya punya solusi untuk ini yang bekerja untuk saya.
Saya sudah menginstal Xcode 6 dan Xcode 5.1.1, Xcode 6 ada di Aplikasi dan Xcode 5.1.1 ada di direktori lain. Ketika saya ingin membangun, saya menggunakan Xcode 6 untuk membuat Arsip. Tetapi Anda juga dapat melihat Arsip yang dibuat di Xcode 5.1.1 jadi saya menggunakan Xcode 5.1.1 untuk mendistribusikan .ipa Ad Hoc menggunakan profil penyediaan yang ingin saya gunakan. Jadi bangun menggunakan Xcode 6 tetapi distribusikan menggunakan Xcode 5.1.1.
sumber
Menggunakan aset penandatanganan lokal saat mengekspor menyelesaikan masalah bagi saya:
sumber
Jawaban dari @MrPatol tidak berhasil untuk saya. Skenario kerja saya untuk Xcode 6.3.2
Di Pusat Anggota -> Profil Penyedia iOS
Di Utilitas Konfigurasi iPhone -> Provisioning Profiles
Dalam Xcode -> Organizer
sumber
Inilah dua poin kunci yang memecahkan masalah bagi saya.
Xcode kemudian akan menemukan profil penyediaan yang benar dengan mencocokkan ID Aplikasi dengan pengidentifikasi bundel aplikasi.
sumber
Bahkan, Anda perlu membuat profil Distribusi baru, khusus untuk Penyebaran Ad Hoc. Ini dapat ditemukan di pusat anggota klasik, tetapi ini adalah jenis sertifikat baru.
Anda kemudian dapat memilih perangkat mana yang dapat digunakan untuk menguji aplikasi seperti yang Anda lakukan dengan profil pengembang.
Dan sertifikat yang baru dibuat akan tersedia ketika Anda mengekspor paket Anda dari Penyelenggara dengan cara biasa.
Atau Anda dapat menggunakan solusi TestFlight yang disediakan oleh Apple dengan iOS 8 untuk memungkinkan pengguna Anda memiliki akses ke pra-rilis.
sumber
Saya memiliki masalah yang sama, akhirnya saya menyelesaikannya dengan memperbaharui profil yang ingin saya gunakan di Xcode 6 termasuk semua perangkat yang telah saya daftarkan di akun Dev iOS saya, melakukannya dengan cara itu, ketika memilih ekspor itu menunjukkan profil yang benar dan saya dapat melakukan ekspor Ad Hoc dengan Xcode 6 tanpa menggunakan skrip. Semoga ini bisa membantu.
sumber
Saya telah terjebak untuk sementara waktu dengan ini ,, tetapi menggunakan Crashlytics menyelesaikannya, membangun didistribusikan menggunakan profil yang dipilih dalam pengaturan build proyek Xcode Anda.
semoga membantu seseorang.
sumber
Masalah yang hampir sama. Setelah membuat arsip untuk distribusi (Produk> Arsip), Anda mengekspor arsip (klik Ekspor ...) dan pilih "Simpan untuk Penggunaan Perusahaan"; lalu "Next". Anda kemudian memilih default "Tim Pengembangan" (mis. Nama organisasi) dan klik "Pilih". Akhirnya Anda akan disajikan dengan tampilan ringkasan yang juga mencantumkan profil penyediaan yang secara otomatis ditemukan Xcode (mungkin dibuat saat itu juga) untuk Anda. MUNGKIN ini menjadi profil penyediaan yang salah (biasanya profil penyediaan wildcard, seperti "XC: *") dan MUNGKIN terjadi karena sudah ada profil penyediaan wildcard di portal pengembang.
Saya menggunakan tiket dukungan untuk ini dan hanya mendapatkan tautan ini kembali https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 . Tidak terlalu membantu.
Saya telah menemukan bahwa solusi MrPatol juga bekerja untuk Enterprise Deployment dan menyelesaikan masalah bagi kami. Saya pertama kali masuk ke portal pengembang dan secara manual membuat profil penyediaan yang cocok dengan aplikasi saya. Kemudian mengunduh dan menginstal profil penyediaan yang baru dibuat secara manual.
sumber
Di xcode 7, saya tidak dapat memilih provisi adhoc
Agenda -> Unggah ke App Store & Agenda -> Validasi
Tapi saya bisa memilih melalui Organizer -> Ekspor
Diedit:
Mengunggah aplikasi setelah mengekspor untuk adhoc ke app store untuk testFlight menyebabkan masalah lain yang dibahas di sini . Jadi, solusi untuk kedua masalah ini adalah satu. Buat penyediaan AppStore untuk dapat memilihnya melalui organizer dan memanfaatkan testFlight dengan mengunggah ke appstore.
sumber
File optionPlist seperti ini,
app-store, perusahaan, ad-hoc, pengembangan adalah alternatif
Ini masalah batu delima. Coba skrip shell ini,
xcbuild-safe.sh
Apa sih
shell_session_update
? Mari kita mengatasinya. Cukup tentukan fungsi sebelum cmc xcodebuild yang asli, yaitu pada baris 60 atau 61.sumber
Untuk menjawab pertanyaan spesifik Anda, tidak ada cara untuk memilih profil penyediaan untuk digunakan. Apa yang kamu coba lakukan? (mis. apa yang ingin Anda pilih agar profil yang dibuat secara otomatis tidak?)
sumber