Bagikan melalui


Pertimbangan platform 32/64-bit

Meskipun iOS dan macOS secara historis telah mendukung aplikasi 32 dan 64-bit, Apple secara bertahap telah menghentikan dukungan 32-bit.

Pada iOS 11, aplikasi 32-bit tidak akan lagi diluncurkan, dan semua pengiriman ke App Store harus mendukung 64-bit.

Mulai Januari 2018, aplikasi baru yang dikirimkan ke Mac App Store harus mendukung 64-bit, dan aplikasi yang ada harus diperbarui pada Juni 2018.

API Klasik Xamarin (XamMac.dll dan monotouch.dll) hanya mendukung aplikasi 32-bit. Namun, aplikasi Xamarin.iOS dan Xamarin.Mac baru menggunakan API Terpadu (Xamarin.iOS dan Xamarin.Mac) secara default, dan karenanya dapat menargetkan 32 dan 64-bit, seperlunya.

iOS

Mengaktifkan build aplikasi Xamarin.iOS 64-bit

Peringatan

Bagian ini disertakan untuk alasan historis, dan untuk membantu memindahkan proyek Xamarin.iOS yang lebih lama ke API Terpadu dan mendukung 64-bit. Semua proyek Xamarin.iOS baru akan menggunakan API Terpadu dan target 64-bit secara default.

Untuk aplikasi seluler Xamarin.iOS yang telah dikonversi ke API Terpadu, pengembang harus memperbarui pengaturan build secara manual ke target 64-bit:

  1. Di Pad Solusi, klik dua kali proyek aplikasi untuk membuka jendela Opsi Proyek.

  2. Pilih Build iOS.

  3. Untuk i Telepon Simulator, di menu dropdown Arsitektur yang didukung, pilih x86_64 atau i386 + x86_64:

    Setting Supported architectures to x86_64 or i386 + x86_64

  4. Untuk perangkat fisik, pilih salah satu kombinasi ARM64 yang tersedia:

    Setting Supported architectures to one of the ARM64 combinations

  5. Klik OK.

  6. Lakukan build bersih.

ARMv7s hanya didukung oleh prosesor A6 yang disertakan dalam i Telepon 5 (atau lebih besar). Kode ARMv7 lebih cepat dan lebih kecil dari ARMv6, hanya berfungsi dengan i Telepon 3GS dan yang lebih baru, dan diperlukan oleh Apple saat menargetkan iPad atau versi iOS minimum 5.0. ARMv6 berfungsi di semua perangkat tetapi tidak lagi didukung oleh kompilator yang dikirim dengan Xcode 4.5 dan yang lebih baru.

ARM64 diperlukan untuk mendukung iOS 8 di i Telepon 6 atau perangkat 64-bit lainnya dan akan diperlukan oleh Apple saat mengirimkan aplikasi baru atau memperbarui aplikasi keluar di iTunes App Store.

Untuk melihat kemampuan komprehensif berbagai perangkat iOS, lihat dokumen Kompatibilitas Perangkat Apple.

Peningkatan ukuran 64-bit dan biner

Selama transisi Apple dari 32-bit ke 64-bit, aplikasi iOS harus berjalan pada perangkat keras 32-bit dan 64-bit. Karena itu, API Terpadu Xamarin memungkinkan pengembang untuk menargetkan keduanya.

Menargetkan arsitektur 32-bit dan 64-bit akan secara signifikan meningkatkan ukuran aplikasi. Namun, melakukannya akan memungkinkan perangkat yang lebih baru untuk menjalankan kode yang dioptimalkan sambil tetap mendukung perangkat yang lebih lama.

Penting

Jika Anda menerima pesan berikut saat mengirimkan aplikasi iOS ke iTunes App Store, "MEMPERINGATKAN ITMS-9000: Dukungan 64-bit hilang. Mulai 1 Februari 2015, aplikasi iOS baru yang diunggah ke App Store harus menyertakan dukungan 64-bit dan dibangun dengan iOS 8 SDK, termasuk dalam Xcode 6 atau yang lebih baru. Untuk mengaktifkan 64-bit dalam proyek Anda, sebaiknya gunakan pengaturan build Xcode default "Arsitektur standar" untuk membangun satu biner dengan kode 32-bit dan 64-bit." Anda perlu mengalihkan arsitektur yang didukung ke salah satu kombinasi ARM64 yang tersedia (seperti yang ditunjukkan di atas), kompilasi ulang dan pengiriman ulang.

Mac

Penting

Mulai Januari 2018, semua app Mac baru yang dikirimkan ke Mac App Store harus mendukung 64-bit. App Store Mac yang ada dan pembaruannya harus mendukung 64-bit mulai Juni 2018. Lihat pengumuman Apple dan panduan yang menjelaskan cara memperbarui aplikasi Xamarin.Mac Anda ke 64-bit.

Sebagian besar komputer Mac modern mendukung aplikasi 32-bit dan 64-bit. MacOS 10.6 (Snow Leopard) adalah sistem operasi terakhir yang berjalan pada sistem 32-bit. Sebagian besar Mac dirilis sejak 2010 mendukung kedua sistem.

Tidak seperti iOS, banyak kerangka kerja baru yang diperkenalkan dalam versi terbaru macOS hanya didukung dalam mode 64-bit (CloudKit, EventKit, GameController, LocalAuthentication, MediaLibrary, Multipeer Koneksi ivity, NotificationCenter, GLKit, SpriteKit, Social, dan MapKit, antara lain).

API Terpadu memungkinkan pengembang untuk memilih jenis aplikasi apa yang ingin mereka hasilkan: 32-bit atau 64-bit.

Aplikasi 32-bit akan berjalan pada komputer Mac 32-bit dan 64-bit, memiliki ruang alamat yang dibatasi hingga 32 bit, dan mengharuskan semua pustaka adalah 32 bit.

Anda biasanya akan menggunakan mode ini jika Anda memiliki dependensi 32-bit yang tidak berjalan dalam mode 64-bit, jika Anda ingin memiliki unduhan yang lebih kecil, atau jika tidak ada manfaat performa dalam pindah ke 64-bit.

Mode ini membatasi karena Anda tidak akan dapat menggunakan banyak kerangka kerja yang tersedia di macOS Mavericks dan macOS Yosemite.

Aplikasi 64-bit hanya akan berjalan pada perangkat Mac 64-bit.

Untuk Mac, ini adalah mode operasi pilihan karena sebagian besar Mac yang digunakan saat ini mendukung mode 64-bit, dan Anda memiliki akses ke serangkaian kerangka kerja lengkap yang disediakan oleh Apple.

Mengaktifkan build aplikasi Xamarin.Mac 64-bit

Untuk informasi tentang membangun aplikasi 64-bit menggunakan Xamarin.Mac, silakan lihat panduan Memperbarui aplikasi Terpadu Xamarin.Mac ke 64-bit .