Saya mengirim aplikasi kemarin untuk ditinjau, tanpa masalah. Saya kemudian menyadari bahwa saya memiliki sedikit perbaikan yang harus dilakukan (mengubah tingkat zoom maksimal peta dari 19 menjadi 18, tidak ada yang lain), jadi saya menghapus biner dari iTunes Connect, dan mencoba mengirim ulang.
Sekarang saya mendapat peringatan ini:
Saya tidak mengerti mengapa, karena arsitektur saya adalah:
- arsitektur: armv7
- arsitektur yang valid: armv6, armv7, armv7s, arm64
Aplikasi berjalan dengan baik di simulator. Jika saya mencoba menggunakan arsitektur standar (armv7, arm64) seperti yang direkomendasikan dalam peringatan, aplikasi tidak akan dibangun dan saya mendapatkan:
- Simbol tak terdefinisi untuk arsitektur x86_64
- ld: simbol tidak ditemukan untuk arsitektur x86_64
Saya menggunakan lib route-me, dan saya menetapkan pengaturan arsitektur yang sama.
Jawaban:
Gunakan "
Standard architectures
" seperti ini:seperti ini:
sumber
armv7 and arm64
di Architechtures. Namun, peringatan dukungan 64-bit yang hilang terjadi saat memvalidasi aplikasi untuk pengiriman.Setelah mengonfirmasi arsitektur yang benar, pastikan perangkat Anda TIDAK terhubung ke komputer Anda saat MENGARSIPKAN versi akhir untuk dikirim ke App Store.
Alasan peringatan ini muncul adalah karena DEVICE yang Anda sambungkan mungkin tidak kompatibel dengan arm64.
sumber
Build Active Architecture Only
keNo
. Ini akan memaksa xcode untuk membangun biner 64bit terlepas dari perangkat apa yang terhubung.Build Active Architecture
disetel keNo
. Atur Skema ArsipSeperti yang Tony tulis, penting untuk memiliki kedua baris pengaturan tersebut. Karena proyek saya (dan jelas Anda) dibuat sebelum arm64 ditambahkan ke standar, itu tidak tercermin dalam "Arsitektur yang Valid" meskipun ditampilkan sebagai Standar.
Apa yang saya lakukan:
Setelah membersihkan / membangun saya bahkan mendapatkan beberapa peringatan tentang konversi float yang tidak tepat ke CGFloat, dll., Jadi pengaturannya jelas diterapkan.
Peringatan validasi juga hilang!
sumber
Cabut perangkat fisik Anda dari Mac. Di XCode pada daftar perangkat pilih Perangkat iOS dan buat Arsip lagi. Itu berhasil untuk saya.
sumber
Hari ini saya menyelesaikan masalah itu dengan langkah-langkah berikut:
Pengaturan Bangunan:
Arsitektur: Arsitektur standar (arm7, arm64) - $ (ARCH_STANDARD)
Arsitektur yang Valid: armv7 armv7s arm64
sumber
Cukup Buat Proyek Baru menggunakan versi xCode terbaru dan temukan pengaturan Build. Proyek baru yang dibuat menggunakan versi terbaru memiliki 64 dukungan secara default.
sumber
Oke, ini gila. Saya mencoba setiap jawaban. Tetapi itu hanya bekerja ketika saya ditempatkan
arm64
sebelumarmv7
danarmv7s
di Arsitektur yang Valid.PS:
xcode version : 7.2
sumber
Saya memecahkan masalah dengan mengubah,
Arsitektur: arm7, arm64
Arsitektur yang valid: arm7, arm64
Bangun arsitektur aktif saja: Ya
sumber
Saya mengirimkan kesuksesan dengan config sebagai gambar:
(Diarsipkan dengan perangkat nyata)
sumber
Singkirkan setiap peringatan. Pergi melalui segalanya berulang kali. Temukan jawaban satu kata di sini di atas.
"Buat Hanya Arsitektur Aktif - TIDAK (khususnya ... jika perangkat Anda yang terhubung tidak kompatibel dengan arm64)"
IPad saya bukan 64 bit. Masukkan NO untuk Membangun Arsitektur Aktif dan pengiriman saya berhasil!
sumber
Ubah target pengembangan iOS Anda menjadi setidaknya 5.1.1 atau sebagai alternatif, hapus pengaturan arsitektur standar dan terapkan kembali. Anda mungkin telah melihat peringatan bahwa arm64 tidak kompatibel dengan target build Anda. Di halaman ringkasan, periksa setelan "target penerapan" build dan target. Dalam kasus saya, targetnya adalah 6.0, tetapi proyeknya 5.0.
Juga, periksa "Arsitektur yang Valid" di target dan proyek Anda. Saya memiliki pengaturan yang tepat pada proyek tetapi tidak pada target. Setelah ini, saya berhasil.
Beralih di antara proyek / target di halaman ringkasan di sudut kiri atas kotak.
sumber
Silakan centang opsi Build Active Architecture. Setel ke NO. Ini bekerja untuk saya.
sumber