Aracılığıyla paylaş


32/64 bit platformda dikkat edilmesi gerekenler

iOS ve macOS geçmişte hem 32 hem de 64 bit uygulamaları desteklese de Apple, 32 bit desteği aşamalı olarak kullanım dışı bırakmıştır.

iOS 11 itibarıyla 32 bit uygulamalar artık başlatılmıyor ve App Store'a yapılan tüm gönderimlerin 64 bit'i desteklemesi gerekiyor.

Ocak 2018'den itibaren Mac App Store'a gönderilen yeni uygulamaların 64 bit'i desteklemesi ve mevcut uygulamaların Haziran 2018'e kadar güncelleştirilmiş olması gerekir.

Xamarin'in Klasik API'si (XamMac.dll ve monotouch.dll) yalnızca 32 bit uygulamaları destekliyordu. Ancak, yeni Xamarin.iOS ve Xamarin.Mac uygulamaları varsayılan olarak Birleşik API 'yi (Xamarin.iOS ve Xamarin.Mac) kullanır ve bu nedenle gerektiğinde hem 32 hem de 64 bit'i hedefleyebilir.

iOS

Xamarin.iOS uygulamalarının 64 bit derlemelerini etkinleştirme

Uyarı

Bu bölüm, geçmiş nedenlerle ve eski Xamarin.iOS projelerini Birleşik API'ye taşımaya yardımcı olmak ve 64 bit desteği sağlamak için eklenmiştir. Tüm yeni Xamarin.iOS projeleri Birleştirilmiş API'yi kullanır ve varsayılan olarak 64 bit'i hedefler.

Birleştirilmiş API'ye dönüştürülen Xamarin.iOS mobil uygulamaları için geliştiricilerin derleme ayarlarını 64 bit hedefine el ile güncelleştirmeleri gerekir:

  1. Çözüm Bölmesi'nde uygulamanın projesine çift tıklayarak Proje Seçenekleri penceresini açın.

  2. iOS Derlemesi'ne tıklayın.

  3. i Telefon Simülatörü için Desteklenen mimariler açılan listesinde x86_64 veya i386 + x86_64'ı seçin:

    Setting Supported architectures to x86_64 or i386 + x86_64

  4. Fiziksel cihazlar için kullanılabilir ARM64 birleşimlerinden birini seçin:

    Setting Supported architectures to one of the ARM64 combinations

  5. Tamam'a tıklayın.

  6. Temiz bir derleme gerçekleştirin.

ARMv7s yalnızca i Telefon 5 (veya üzeri) içindeki A6 işlemci tarafından desteklenir. ARMv7 kodu ARMv6'dan daha hızlı ve daha küçüktür, yalnızca i Telefon 3GS ve üzeri ile çalışır ve iPad'i veya en düşük 5.0 iOS sürümünü hedeflerken Apple tarafından gereklidir. ARMv6 tüm cihazlarda çalışır, ancak artık Xcode 4.5 ve üzeri ile birlikte gelen derleyici tarafından desteklenmez.

ARM64, i Telefon 6 veya diğer 64 bit cihazlarda iOS 8'i desteklemek için gereklidir ve iTunes App Store'da yeni uygulama gönderirken veya uygulamalardan çıkarken Apple tarafından gereklidir.

Çeşitli iOS cihazlarının özelliklerine kapsamlı bir bakış için Apple'ın Cihaz Uyumluluğu belgesine göz atın.

64 bit ve ikili boyut artışları

Apple'ın 32 bitten 64 bit'e geçişi sırasında iOS uygulamalarının hem 32 bit hem de 64 bit donanımda çalıştırılması gerekir. Bu nedenle, Xamarin'in Birleşik API'si geliştiricilerin her ikisini de hedeflemesine olanak tanır.

Hem 32 bit hem de 64 bit mimarileri hedeflemek, uygulamanın boyutunu önemli ölçüde artırır. Ancak bunu yapmak, daha yeni cihazların daha eski cihazları desteklemeye devam ederken iyileştirilmiş kod çalıştırmasına olanak tanır.

Önemli

iTunes App Store'a bir iOS uygulaması gönderirken şu iletiyi alırsanız, "UYARI ITMS-9000: 64 bit destek eksik. 1 Şubat 2015'den itibaren App Store'a yüklenen yeni iOS uygulamalarının 64 bit desteği içermesi ve Xcode 6 veya sonraki sürümlerde bulunan iOS 8 SDK ile derlenmiş olması gerekir. Projenizde 64 bit'i etkinleştirmek için, "Standart mimariler" varsayılan Xcode derleme ayarını kullanarak hem 32 bit hem de 64 bit kodlu tek bir ikili dosya oluşturmanızı öneririz." Desteklenen mimarileri kullanılabilir ARM64 bileşiminden birine (yukarıda gösterildiği gibi) değiştirmeniz, yeniden derlemeniz ve yeniden göndermeniz gerekir.

Mac

Önemli

Ocak 2018'den itibaren, Mac App Store'a gönderilen tüm yeni Mac uygulamalarının 64 bit'i desteklemesi gerekir. Mevcut Mac App Store uygulamaları ve güncelleştirmeleri Haziran 2018'den itibaren 64 bit desteğine sahip olmalıdır. Bkz . Apple'ın duyurusunu ve Xamarin.Mac uygulamalarınızı 64 bit olarak güncelleştirme adımlarını açıklayan bir kılavuz.

Modern Mac bilgisayarların çoğu hem 32 bit hem de 64 bit uygulamaları destekler. MacOS 10.6 (Snow Leopard), 32 bit sistemlerde çalışan son işletim sistemidir. 2010'dan bu yana yayımlanan Mac'lerin çoğu her iki sistemi de destekler.

iOS'un aksine, macOS'un son sürümlerinde sunulan yeni çerçevelerin çoğu yalnızca 64 bit modunda desteklenir (CloudKit, EventKit, GameController, LocalAuthentication, MediaLibrary, Multipeer Bağlan ivity, NotificationCenter, GLKit, SpriteKit, Social ve MapKit).

Birleştirilmiş API, geliştiricilerin ne tür uygulamalar üretmek istediklerini seçmesine olanak tanır: 32 bit veya 64 bit.

32 bit uygulamalar hem 32 bit hem de 64 bit Mac bilgisayarlarda çalışır, 32 bit ile sınırlı bir adres alanına sahiptir ve tüm kitaplıkların 32 bit olmasını gerektirir.

Genellikle 64 bit modunda çalışmayan 32 bit bağımlılıklarınız varsa, daha küçük bir indirme istiyorsanız veya 64 bit'e geçmenin performans avantajı yoksa bu modu kullanırsınız.

MacOS Mavericks ve macOS Yosemite'da kullanılabilen birçok çerçeveyi kullanamayacağınız için bu mod sınırlanıyor.

64 bit uygulamalar yalnızca 64 bit Mac cihazlarda çalışır.

Mac için, bugün kullanımda olan çoğu Mac 64 bit modunu desteklediğinden ve Apple tarafından sağlanan tam çerçeve kümesine erişiminiz olduğundan bu tercih edilen işlem modudur.

Xamarin.Mac uygulamalarının 64 bit derlemelerini etkinleştirme

Xamarin.Mac kullanarak 64 bit uygulama oluşturma hakkında bilgi için lütfen Xamarin.Mac Birleşik uygulamalarını 64 bit'e güncelleştirme kılavuzuna bakın.