Xcode 4: buat file IPA bukan .xcarchive


182

Di Xcode 3.2.5 saya menggunakan "Build And Archive" untuk membuat file IPA. Di Xcode 4 Anda dapat menggunakan "Produk -> Arsip" untuk mengarsipkan aplikasi dalam bundel .xcarchive.

Bagaimana saya bisa membuat file .ipa dengan Xcode 4?




3
Setiap kali saya membuat versi adhoc baru, pencarian google saya menuntun saya ke sini. Saya telah melihat halaman ini beberapa kali selama beberapa bulan terakhir. Pertanyaan bagus, solusi bagus
coneybeare


Ini adalah Plugin Xcode untuk mengekspor IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

Jawaban:


391

Membuat IPA dilakukan dengan cara yang sama seperti membuat .xcarchive: Product -> Archive. Setelah operasi Arsip selesai, buka Agenda, pilih arsip Anda, pilih Bagikan dan di bagian "Pilih konten dan opsi untuk dibagikan:" mengatur konten ke "Paket App Store iOS (.ipa) dan Distribusi Identitas ke iPhone (yang harus cocok dengan profil penyediaan ad hoc / app store Anda untuk proyek).

Peluangnya adalah opsi "iOS App Store Package (.ipa)" mungkin dinonaktifkan. Ini terjadi ketika bangunan Anda menghasilkan lebih dari satu target: katakanlah, aplikasi dan perpustakaan. Semuanya berakhir di folder produk build dan Xcode sangat naif tentang cara mengemas keduanya menjadi file .ipa, jadi itu hanya menonaktifkan opsi.

Cara untuk mengatasi ini adalah sebagai berikut: melalui pengaturan build untuk masing-masing target, kecuali target aplikasi, dan atur Lewati bendera Instal ke YES. Kemudian lakukan Produk -> Arsip tango sekali lagi dan pergi ke Penyelenggara untuk memilih arsip baru Anda. Sekarang, ketika mengklik tombol Bagikan, opsi .ipa harus diaktifkan.

Saya harap ini membantu.


2
Ini memperbaiki masalah saya, terima kasih! Dalam kasus saya masalahnya sebenarnya adalah salah satu proyek anak - anak (ProtocolBuffers untuk saya) yang memiliki beberapa target yang perlu melewati instalasi untuk ditetapkan.
JosephH

Anda mungkin perlu Produk -> Bersihkan dan buka / tutup ruang kerja Anda sebelum opsi Produk -> Arsip muncul.
Mark Chackerian

Saya punya masalah dengan beberapa target. Mengatur lib bersama untuk Lewati Instal YES dan aplikasi untuk Lewati Instal TIDAK memperbaikinya. Ini bukan masalah bagi saya di Xcode 3.2, hanya 4.1.
logancautrell

44
"Bagikan" sekarang "Distribusikan ..." Kemudian pilih "Simpan untuk Perusahaan Penempatan Ad-Hoc"
Rembrandt Q. Einstein

"Lewati instal" tidak mencukupi - Saya mendapatkan bug ini dengan Xcode 4.5, dan menolak untuk Mendistribusikan dengan benar, sejak saya menambahkan perpustakaan dengan bundel.
Adam

44

Pengaturan Lewati Instalasi ke YES tidak berhasil untuk saya. Semoga ini bisa membantu seseorang.

Saya bergantung pada target proyek saya: Coreplot-CocoaTouch. Kemudian pergi ke Target Coreplot-CocoaTouch. Dalam Targetnya dibuka Build Phases. Kemudian buka Copy Header. Di sana saya memiliki beberapa header di Public, beberapa di Private dan beberapa di Project. Pindahkan SEMUA dari mereka ke Proyek.

Tentu saja, dalam Pengaturan Bangun Target Coreplot-CocoaTouch memeriksa bahwa Lewati Penginstalan diatur ke YA dalam opsi Penempatan.

Dan kali ini Arsip membuat arsip yang bisa ditandatangani dan .ipa diproduksi.


1
Setelah memindahkan tajuk ke Proyek berfungsi dengan sempurna bersama dengan langkah-langkah di atas. Terima kasih
iOSAppDev

Seperti angin sepoi-sepoi yang sejuk! Siapa pun yang menjatuhkan github.com/sprhawk/ytoolkit.git untuk OAuth ke dalam proyek mereka akan memerlukan ini. Terima kasih.
vmanjz

2
Kenapa oh mengapa Xcode masih penuh bug seserius ini? 18 bulan kemudian dari komentar ini dan bug masih ada! Terima kasih untuk bantuannya.
Ben Clayton

Kamu tidak tahu betapa aku mencintaimu saat ini ... setidaknya salah satu masalahku terpecahkan! Terima kasih!
Dmytro

15

Untuk arsip Xcode 4.6 (dan Xcode 5)

  • Di Agenda, klik kanan arsip, pilih Tunjukkan di Pencari
  • Di Finder, klik kanan arsip, pilih Show Package Contents
  • Buka folder Produk> Aplikasi
  • Aplikasi ada di sana
  • Seret aplikasi ke folder Aplikasi iTunes

    masukkan deskripsi gambar di sini

  • Klik kanan pada aplikasi di iTunes Apps, pilih Show in Finder

  • Itu .ipaada di sana!

Inilah yang benar-benar saya butuhkan untuk xcode 4.6.3 saya, Semua hal di atas tidak masuk akal bagi saya, hanya ini yang berfungsi. Bagus !
Forrest

hati-hati, akan membuat ipa tetapi mungkin tidak menginstal dengan benar, itu menunjukkan ikon di ponsel setelah sinkronisasi tetapi mengatakan menginstal di bawahnya dan tidak pernah berakhir. Bagaimanapun itu pengalaman saya sejauh ini setelah mencoba ini, Xcode 5.1.1.
colin lamarre

4

Di penyelenggara, Anda dapat mengklik Bagikan dan simpan sebagai Paket App Store iOS (.ipa). Anda mungkin juga harus memilih 'Arsip' dari menu 'Produk' untuk menghasilkan arsip di Penyelenggara. Terakhir, saya pikir Anda harus memiliki bangunan arsip yang ditandatangani dengan benar untuk melakukan ini.


3
Mudah untuk mengetahui cara membuat Arsip dari proyek. Masalahnya adalah bahwa saat berbagi opsi 'Paket' berwarna abu-abu. Anda mungkin benar bahwa arsip harus ditandatangani dengan benar sehingga opsi itu diaktifkan. Saya menggunakan kunci untuk distribusi Ad-Hoc dan juga memiliki Hak yang ditentukan untuk distribusi Ad-Hoc. Bisakah Anda berbagi cara membuatnya mungkin untuk membuat file IPA?
krasnyk

4

Saya memiliki masalah yang sama, menggunakan versi lama dari library route-me. Saya "melewatkan" semua perpustakaan, dan perpustakaan di dalam perpustakaan (proj4), tetapi saya masih memiliki masalah yang sama. Ternyata route-me dan proj4 menginstal file header publik, bahkan ketika perpustakaan dilewati, yang mengacaukannya dengan cara yang sama! Jadi saya hanya pergi ke rute-saya dan target proj4 "Bangun Fase" tab, buka "Salin Header", buka "Publik", dan seret header itu dari "Publik" ke "Project". Sekarang mereka tidak dapat diinstal dalam $ (BUILD) / usr / local / include, dan saya dapat membuat file ipa dari arsip!

Saya harap Apple memperbaiki masalah kegunaan yang mengerikan ini dengan XCode. Sama sekali tidak memberikan indikasi tentang apa yang salah, itu hanya tidak berhasil. Aku benci kontrol redup yang tidak memberi tahu Anda tentang mengapa mereka redup. Bagaimana kalau alih-alih mengabaikan klik, kontrol yang dinonaktifkan dapat memunculkan pesan yang memberitahu Anda mengapa mereka dinonaktifkan ketika Anda mengkliknya dengan frustrasi?


Ya! Semua file header ditandai sebagai publik melakukan masalah. Mengaturnya sebagai proyek memperbaiki masalah!
JakubKnejzlik

3

Dengan asumsi Anda telah melakukan Produk> Arsip yang sukses, dari Agenda (Shift Apple 2) klik Arsip.

Pilih Arsip Anda. Pilih Bagikan. Di panel "Pilih konten dan opsi untuk dibagikan:", setel Konten ke "Paket App Store iOS (.ipa) dan Distribusi Identitas ke iPhone.

Klik Berikutnya, masukkan nama Aplikasi dan klik Simpan.

Detail lengkap berdarah dengan tangkapan layar ada di sini: Xcode4UserGuide


2

Seseorang yang telah mencoba semua jawaban lain dan tidak beruntung, silakan centang kotak ini, harap ini akan membantu (lakukan trik untuk saya xcode 6.0.1)

masukkan deskripsi gambar di sini


0

Saya memiliki masalah yang sama ... Harus membuat ulang proyek dari awal.

Catatan: proyek saya dibuat di XCode 3.1 dan terhubung dengan perpustakaan statis yang sedang dibangun sebagai sub-proyek (ke tujuan bersama). Saya mengubah ini untuk membangun sumber sebagai gantinya ketika saya membuat ulang proyek XCode di XCode 4.

Sekarang melakukan Produk / Arsip / Berbagi ... mendapatkan opsi "Paket App Store iOS (.ipa)" langsung di atas "Aplikasi" (yang sekarang abu-abu) dan "Arsip" (yang mengekspor .xcarchive).


0

Masalah yang sama. Saya memecahkan pengaturan bendera "lewati instal" ke YA untuk setiap proyek eksternal, membiarkan target lain dari proyek utama tidak berubah.

Saya juga harus pergi ke "Edit skema ...", pilih panel "Pengarsipan" dan atur pengaturan build yang benar untuk tujuan ad-hoc saya.

Kemudian Produk sederhana -> Arsip -> Bagikan membuat pekerjaan yang diharapkan.


0

Anda perlu Membangun dan Mengarsipkan proyek Anda. Anda mungkin perlu memeriksa pengaturan penandatanganan kode apa yang Anda miliki dalam proyek dan dapat dieksekusi.

Gunakan Penyelenggara untuk memilih versi arsip Anda dan kemudian Anda dapat Bagikan versi proyek Anda itu. Anda harus memilih penandatanganan kode yang benar lagi. Ini akan memungkinkan Anda untuk menyimpan file .ipa di tempat yang Anda inginkan.

Seret dan jatuhkan file .ipa ke iTunes, lalu sinkronkan dengan iPhone Anda.


0

Jika ini adalah permainan (mungkin juga aplikasi) dan Anda memiliki beberapa perpustakaan statis seperti cocos2d atau perpustakaan pihak ketiga lainnya ... maka Anda hanya perlu memilih * HANYA * perpustakaan statis (BUKAN APLIKASI) dan dalam pengaturan pembuatannya di bawah Penempatan, atur Lewati Bendera penginstal YESdan Arsipkan itu dats itu ... !!


0

Saya pergi melemparkan masalah yang sama. Tidak ada jawaban di atas yang berfungsi untuk saya, tetapi saya akhirnya menemukan solusinya sendiri. File ipa tidak dibuat karena ada file perpustakaan (libXXX.a) di Target-> Build Phases -> Copy Bundle dengan sumber daya

Semoga ini bisa membantu seseorang :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.