Pertanyaan XCode4 + iOS 4.3: "Tidak ada Packager untuk jenis arsip"


Saya baru saja meng-upgrade ke XCode 4 dan saya mencoba membuat sebuah proyek adhoc dari proyek sebelumnya. Setiap kali saya menggunakan opsi "Arsip" saya akhirnya tidak memiliki arsip sama sekali di jendela Penyelenggara ATAU ada arsip, tetapi tidak ada opsi untuk mengemasnya sebagai .ipa, karena "Tidak ada Pengisi untuk jenis arsip ".

Adakah orang yang membangun adhoc yang bekerja di bawah XCode 4 untuk proyek yang telah dimigrasi dari XCode 3.2?


76
2018-03-11 10:04


asal


Jawaban:


Anda mungkin memiliki beberapa proyek terkait (seperti librairies) di dalam proyek utama Anda. Pergi ke pengaturan Build proyek-proyek tersebut dan atur pengaturan "Lewati instal" (kategori Penyerahan) ke "Ya", tetapi tinggalkan "Lewati penginstalan" dari proyek utama ke "Tidak". Bangun, arsipkan, dan Anda harus bisa memilih paket ipa.


134
2018-03-16 08:36



Terima kasih, tetapi saya membutuhkan 3 langkah untuk menyelesaikan masalah secara langsung dengan kerangka proyek saya:

  1. mengatur pengaturan Target Build / "Skip Installation" ke "YES" untuk setiap proyek dependensi

  2. kosongkan properti "Direktori Instalasi" Target Build Settings untuk setiap proyek

  3. untuk setiap proyek, pindahkan setiap header dari bagian "Build Phases / Build Settings / Copy Headers" Publik / Pribadi ke Proyek


25
2018-05-19 13:35



Saya menemukan bahwa kombinasi dari jawaban-jawaban ini memecahkan masalah. Saya menghabiskan banyak waktu untuk memverifikasi apakah Skip Install diatur ke Ya pada semua proyek tertaut dan ternyata itu hanya sebagian dari masalah bagi saya. Jika Anda mengalami masalah ini dengan Arsip, berikut adalah langkah-langkah yang harus diambil:

  1. Temukan arsip di Organiser, klik kanan, dan pilih Tampilkan di Pencari.
  2. Klik kanan file .xcarchive di Finder dan pilih Perlihatkan Isi Paket.
  3. Temukan folder Produk dan lihat apa yang ada di dalamnya. Seharusnya hanya ada folder Aplikasi di folder Produk, dan folder Aplikasi hanya boleh berisi satu aplikasi iPhone (YourProject.app).

Jika, pada langkah 3, Anda menemukan pustaka statis (<beberapa-perpustakaan> .a) baik langsung di bawah Produk atau di subfolder, buka Xcode dan pilih proyek yang menghasilkan pustaka statis (Anda seharusnya dapat memberi tahu proyek yang mana itu didasarkan pada nama pustaka statis). Pergi ke Pengaturan Build dan pilih target, lalu atur "Lewati Instal" ke "Ya".

Jika, pada langkah 3, Anda menemukan file header (<some-header> .h) baik langsung di bawah Produk atau di subfolder, buka Xcode dan pilih proyek yang berisi header tersebut. Anda harus dapat menemukan proyek berdasarkan awalan yang digunakan dalam nama file header. Dalam proyek itu, masuk ke Fase Build, dan di bagian Header Salin, pindahkan semua tajuk dari bagian Publik dan Swasta ke bagian Proyek.

Terimakasih untuk jawaban ini dan jawaban ini dan jawaban ini untuk membantu saya menyelesaikan ini.


9
2017-12-28 21:39



Berikut dua tips lain yang kami anggap berguna dengan masalah ini ... bukan jawaban tetapi mereka dapat menyelamatkan orang lain BANYAK waktu mengacaukan sekitar 8 /

Jika Anda menggunakan libs statis yang TIDAK dibangun oleh xcode4 maka solusi "deployment-> skip install" tidak akan berfungsi untuk mereka. Pekerjaan sekitar untuk itu adalah untuk TIDAK menambahkannya ke proyek dan memastikan jalur mereka berada di Header dan / atau Path Pencarian Perpustakaan di Pengaturan Build Anda ditambah entri -lblah ditambahkan ke Flags Linker.

Juga, jika Anda memiliki set lib statis sebagai Ketergantungan Target (misalnya kami memiliki libjson.a ditetapkan sebagai ini dan saya cukup yakin itu adalah hal yang benar / logis untuk dilakukan) maka Anda tidak akan bisa membangun. tidak peduli apapun. Kami menghabiskan lebih dari satu hari penuh menari dengan masalah bodoh ini dan pada akhirnya hanya menghapus ini memecahkannya. Secara pribadi saya pikir ini harus benar-benar meninggalkan proyek yang rusak ... tetapi itu bekerja sangat meh.


5
2018-03-29 08:25



Untuk mengetahui proyek / pustaka / komponen apa yang mencegah Xcode membuat arsip yang tepat, lakukan ini:

Temukan arsip di Organiser, klik kanan, dan tampilkan di finder. Ini akan menampilkan file .xcarchive. Klik kanan dan Tampilkan Isi Paket. Sekarang lihat di folder Produk. Kemungkinan besar akan ada lebih dari sekadar folder Aplikasi dengan satu aplikasi iPhone di dalamnya.

Dalam kasus saya ada struktur folder usr / local / lib yang berisi libOAuthConsumer_iPhone.a dan ketika saya mencari itu di Xcode, saya memang menemukan proyek lain di mana saya tidak menetapkan Skip Install to YES. Ini mungkin tidak mudah bagi semua orang tetapi melihat ke dalam paket setidaknya harus memberi Anda pointer ke komponen mana yang mengacaukan proses pengarsipan.


3
2017-12-06 08:03



Lewati penginstalan tidak bekerja untuk saya. Saya memecahkan masalah ini dengan memindahkan semua tajuk yang ditandai sebagai publik ke proyek. Saya saat ini bekerja di ruang kerja dengan lib statis dan proj ipad. Sepertinya ada bug atau sesuatu dengan xcode setiap kali Anda ingin membangun produk Anda dengan proyek yang terkait, xcode membangun keduanya dan Organizer tidak menunjukkan opsi untuk berbagi ipa.


1
2017-11-24 19:18



Ini adalah langkah-langkah untuk memecahkan masalah di atas di xcode 4.2

1: "Lewati untuk menginstal" ke YA untuk semua perpustakaan bagian ketiga yang ditambahkan. "Lewati untuk memasang" ke NO untuk proyek Anda. Anda dapat mengakses "Lewati untuk memasang" dari setelan Build.

2: Pilih header perpustakaan pihak ketiga Anda dari panel Navigator kiri.

2.1: Di sebelah kanan adalah utililtes pane. Tampilkan dan sembunyikan dengan view -> utilities-> show / hide utilities (command-Option-0) atau dengan tombol ketiga dalam tampilan kontrol segmented pada toolbar

2.2: pilih file inspector (command-option-1)

2.3 memilih keanggotaan Target dan opsi perubahan ke 'Proyek' dari publik atau pribadi


1
2018-04-13 07:41