Setelah memigrasi framework saya ke Xcode 10 beta (10L176w) saya mulai mendapatkan peringatan seperti:
Memetakan arm64 arsitektur ke x86_64. Pastikan bahwa pengaturan build Arsitektur dan Arsitektur yang Valid milik target ini dikonfigurasi dengan benar untuk platform iOS Simulator.
... dan:
Memetakan arsitektur armv7 ke i386. Pastikan bahwa pengaturan build Arsitektur dan Arsitektur yang Valid milik target ini dikonfigurasi dengan benar untuk platform iOS Simulator.
Terlepas dari peringatan ini, build dan pengujian unit semuanya lulus Ok. Saya menggunakan Swift 4.2.
Namun, tentang apakah peringatan ini?
ARCHS = $(ARCHS_STANDARD_64_BIT)
danVALID_ARCHS = $(inherited) x86_64 i386
Jawaban:
Pergi ke Build Settings dan lakukan seperti yang ditunjukkan di bawah ini
sumber
There are no valid architectures to compile for because the VALID_ARCHS build setting is an empty list
Saya dapat membungkam peringatan ini dengan mengubah pengaturan Arsitektur Valid saya
$(ARCHS_STANDARD)
yang cocok dengan pengaturan Arsitektur saya juga.Anehnya, ini ditampilkan sebagai
armv7 arm64
(dibandingkan dengan pengaturan defaultarmv7 armv7s arm64
), tetapi mengaturnya ke nilai itu secara manual masih menyebabkan peringatan. Tidak yakin apa pentingnya itu, tetapi saya belum melihat ada masalah dalam pengujian saya.sumber
Anda mungkin mengganti setelan build VALID_ARCHS ("Arsitektur yang Valid"), baik untuk target atau projectnya. Ini adalah pengaturan build yang akan mendapatkan nilainya secara otomatis berdasarkan tujuan menjalankan mana yang Anda buat. Saat Anda mengetahui dari mana asal penggantian ini (pengaturan build akan ditampilkan dalam huruf tebal saat diganti), pilih dan tekan tombol hapus untuk memulihkannya ke nilai default.
sumber
VALID_ARCHS
. Ini berisiarm64
untuk debug dan rilis.VALID_ARCHS
untuk mengaturnya ke default dan kemudian membersihkan dan menutup / membuka Xcode lagi agar berfungsi sepenuhnya untuk sayaUntuk TARGET yang melaporkan peringatan, Ubah setelan "Arsitektur yang Valid" ke:
$(VALID_ARCHS) x86_64
sumber
Mirip dengan jawaban lain, saya dapat menghapus peringatan dengan mengubah
$(VALID_ARCHS)
(Arsitektur yang Valid) menjadi$(ARCHS_STANDARD)
. Dari sana, saya menghapus semua Data Berasal dan memulai ulang Xcode 10.0. Ini membuat peringatan itu hilang sama sekali. Menghapus semuanya dari Arsitektur yang Valid hanya membuat peringatan yang berbeda muncul ("Tidak ditemukan arsitektur yang valid").sumber
Solusinya lebih sederhana: dalam Arsitektur yang Valid, cukup ganti arm64 dengan x86_64 .
Memiliki masalah serupa dan tiga peringatan berikut dalam proyek saya:
Arsitektur Valid Saya awalnya
Mengganti:
(seperti yang disebutkan dalam Peringatan) adalah solusi saya. Hasil dalam pengaturan Arsitektur yang Valid adalah:
Setelah penggantian, tiga peringatan saya di atas menghilang.
Info lebih mendalam tentang Arsitektur dapat ditemukan di sini: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
Menurut saya formulasi peringatan ini di Xcode agak membingungkan.
sumber
Jika Anda menghadapi masalah di Flutter:
Hapus folder Podfile, Podfile.lock, Pods, Runner.xcworkspace, Flutter.framework.
Lari
flutter clean
.flutter build ios
.sumber
Saya melihat peringatan ini ketika saya mencoba mengkompilasi kode untuk iOS dan Mac OS. Saya bisa menyiasatinya dengan terlebih dahulu melakukan apa yang disarankan Hassan Taleb dalam jawabannya: membersihkan arsitektur sehingga hanya arsitektur iPhone yang valid yang ada di sana. Dan terakhir, untuk mempertahankan kemampuan membangun untuk Mac OS, gerakkan mouse Anda ke Arsitektur yang Valid sehingga tombol tambah muncul. Klik itu dan kemudian Anda dapat menambahkan pengaturan terpisah untuk platform berbeda sesuai kebutuhan, termasuk arsitektur CPU yang berbeda. Untuk SDK macOS, saya dapat mengatur Arsitektur Valid saya menjadi hanya x86_64 jika saya mau.
sumber
Saya menemukan cara termudah untuk menyelesaikan ini adalah dengan membuka proyek di editor teks saya, lalu mencari dan menghapus semua
VALID_ARCHS
baris.sumber
Saya juga menghadapi masalah yang sama. Untuk resolusi, saya baru saja mengubah sistem build dari Standard ke Legacy dan itu menyelesaikan masalah.
sumber
Saya telah melihat peringatan yang sama saat saya membangun kerangka kerja saya. Setelah beberapa saat perhatikan nilai arsitektur yang valid ini bervariasi tergantung pada jenis perangkat terlepas dari nilai dalam pengaturan build.
Real devices-> arm64 Simulator devices ->x86-64
sumber
jika [Pengaturan build] Anda adalah armv7 armv7s arm64, hapus armv7s. peringatan itu akan dibatalkan.
sumber