Forum

Mac Tidak Boleh Membina untuk Apple Silicon

S

Encik Cuete

Poster asal
9 Nov 2011
  • 21 Dis 2020
Menurut dokumentasi pembangun, semua yang saya perlu lakukan untuk membina aplikasi saya untuk silikon Apple dan Intel ialah klik pada aplikasi dalam bar tugas dan pilih nama aplikasi> Mana-mana Mac (Apple Silicon, Intel). Saya tidak boleh membina apl saya dengan pilihan ini. Saya mendapat ralat:

Peranti binaan sahaja tidak boleh digunakan untuk menjalankan sasaran ini.

Sila pilih peranti yang tersedia atau pilih peranti simulasi sebagai destinasi.

Dalam Tetapan Binaan saya, saya telah menetapkan Seni Bina kepada Seni Bina Standard (Apple Silicon, Intel) - lalai untuk XCode 12.3.
Seni Bina Aktif Bina Saya Sahaja ditetapkan kepada NO. Ini adalah lalai untuk XCode 12.3.

Saya tidak nampak di mana saya boleh menukar tetapan untuk membetulkannya dan membina aplikasi untuk kedua-dua seni bina. apa salahnya

Juga versi lebih baharu anak tetingkap tetapan mempunyai tiga lajur: Diselesaikan, nama aplikasi dan macOS Lalai. Saya rasa lajur ketiga menunjukkan tetapan lalai, yang berguna tetapi untuk apa lajur Diselesaikan? Bolehkah saya menyingkirkannya? S

Encik Cuete

Poster asal
9 Nov 2011


  • 21 Dis 2020
Mencari siaran serupa di Forum Pembangun Apple, Nampaknya anda hanya boleh melakukan ini pada MAC ARM.

casperes1996

26 Jan 2014
Horsens, Denmark
  • 21 Dis 2020
Maksud saya ralat yang anda perolehi bukanlah ralat binaan. Kedengarannya seperti anda mengklik bina dan jalankan dengan sasaran yang hanya sasaran binaan. CMD+B untuk hanya membina dan tidak menjalankan; Tidakkah itu berfungsi dengan baik untuk anda? S

Szymczyk

5 Mac 2006
  • 21 Dis 2020
Anda perlu mengarkibkan projek pada Intel Mac untuk membuat binari yang berjalan pada kedua-dua Intel dan M1 Mac. Pilih Produk > Arkib untuk mengarkibkan projek. Selepas mengarkibkan projek, anda boleh mengeksportnya daripada Penganjur.
tindak balas:martyjmclean dan XRayAdamo S

Encik Cuete

Poster asal
9 Nov 2011
  • 21 Dis 2020
Tidak, anda TIDAK BOLEH membinanya dengan projek yang ditetapkan untuk dibina untuk kedua-duanya dan saya tidak fikir anda boleh mengarkibkannya melainkan ia dibina. S

Szymczyk

5 Mac 2006
  • 21 Dis 2020
Pilih Mac Saya daripada bar lompat dan bukannya Mana-mana Mac. Saya membina dan mengarkibkan projek Mac sedia ada sebagai binari universal pada Intel Mac dengan cara itu.

Saya cuba memilih Mana-mana Mac daripada bar lompat. Saya tidak dapat membina projek itu, dan saya mendapat ralat yang sama yang diterangkan dalam jawatan asal. Saya dapat mengarkibkan projek itu.

casperes1996

26 Jan 2014
Horsens, Denmark
  • 22 Dis 2020
Senor Cuete berkata: Tidak, anda TIDAK BOLEH membinanya dengan projek yang ditetapkan untuk dibina untuk kedua-duanya dan saya tidak fikir anda boleh mengarkibkannya melainkan ia dibina.
Ini jelas palsu, kawan



Anda tidak boleh Build & Run. Tetapi anda sememangnya boleh membinanya.
tindak balas:martyjmclean S

Encik Cuete

Poster asal
9 Nov 2011
  • 2 Jan 2021
Dalam tetapan binaan untuk projek saya tetapan seni bina lalai ialah Seni Bina Standard (Apple Silicon, Intel) $(ARCHS_STANDARD). Apabila saya menggunakan
lipo path/appname.app/Contents/MacOS/appname -archs ia mengembalikan x86_64 arm64 supaya ia membina binari universal secara automatik. Saya tertanya-tanya apa yang dilakukan oleh bar tugas Any Mac (Apple Silicon, Intel). KEPADA

ADGrant

26 Apr 2018
  • 4 Jan 2021
Senor Cuete berkata: Dalam tetapan binaan untuk projek saya tetapan seni bina lalai ialah Seni Bina Standard (Apple Silicon, Intel) $(ARCHS_STANDARD). Apabila saya menggunakan
lipo path/appname.app/Contents/MacOS/appname -archs ia mengembalikan x86_64 arm64 supaya ia membina binari universal secara automatik. Saya tertanya-tanya apa yang dilakukan oleh bar tugas Any Mac (Apple Silicon, Intel).
Itu membina binari Universal untuk dilepaskan. Jika anda membina apl dengan MyMac sebagai sasaran anda, ia akan membina untuk mesin tersebut (x86_64 untuk Intel Mac dan arm64 untuk Arm Mac). Xcode pada Arm Macs juga membenarkan anda membina dan menjalankan binari Intel menggunakan Rosetta.