Apple Platformu (iOS ve Mac)
Kodunuzun kullanıcı arabirimi öğesi olmayan öğeleri için, iOS ve Mac arasında kod paylaşmanın en iyi yolu Taşınabilir Sınıf Kitaplıkları'nı kullanmaktır.
Bazı kullanıcı arabirimi çalışmaları yapması gereken ve yine de paylaşmak istediğiniz kodlar için, tek bir projede paylaşmak üzere kod yerleştirmenize ve başvurulduğunda hem Mac hem de iOS ile derlenmesine olanak tanıyan Paylaşılan Projeler'i kullanmalısınız.
iOS ve Mac için Birleşik API projeleri, sorunsuz kod paylaşımı için aynı kod dosyasının her iki platformda da kullanılabilmesi için çerçeveler için aynı ad alanlarını kullanır. Ayrıca hem 32 hem de 64 bit derlemeleri etkinleştirir. Birleşik API, 2015'in başından beri varsayılan şablondur ve tüm yeni projeler için önerilir. App Store'a yalnızca Birleşik API projeleri gönderilebilir.
Not
Klasik Profili Kullanımdan Kaldırma: Xamarin.iOS'a yeni platformlar eklendikçe, klasik profilden (monotouch.dll) özellikleri aşamalı olarak kullanımdan kaldırmaya başlıyoruz. Örneğin, NRC olmayan (yeni-başvuru-sayısı) seçeneği kaldırıldı. NRC, tüm birleşik uygulamalar için her zaman etkinleştirilmiştir (NRC dışı hiçbir zaman bir seçenek değildir) ve bilinen bir sorunu yoktur. Gelecekteki sürümler, Boehm'i çöp toplayıcı olarak kullanma seçeneğini kaldıracaktır. Bu aynı zamanda birleşik uygulamalar için hiçbir zaman kullanılamayabilecek bir seçenekti. Klasik desteğin tamamen kaldırılması, Xamarin.iOS 10.0 sürümüyle birlikte 2016 sonbaharı için planlanmıştır.
Özgün (Birleşik olmayan) Xamarin.iOS ve Xamarin.Mac API'leri, yerel çerçevelerin veya MonoMac.
ad alanı ön eklerinin olması MonoTouch.
nedeniyle kod paylaşımını daha zor hale getirdi. Aynı dosyada hem MonoMac hem de MonoTouch ad alanlarına başvuran deyimler ekleyerek using
geliştiricilerin kod paylaşmasına olanak tanıyan bazı boş ad alanları sağladık, ancak bu biraz çirkindi. Klasik API yalnızca dahili olarak dağıtılmış eski uygulamalarda kullanılmaya devam etmelidir (Birleşik API'ye yükseltme önerilir).
Klasik'ten Birleşik API'ye herhangi bir uygulamayı güncelleştirmeye yönelik ayrıntılı yönergeler vardır.
Xamarin, bağlamalarla uygulamalarınıza yerel kitaplıklar getirmenize olanak tanır. Bu bölümde aşağıdakiler açıklanmaktadır:
- bağlamalar nasıl çalışır,
- Xamarin'e kod getirmenizi Objective-C sağlayan bir bağlama projesini el ile oluşturma ve
- süreci otomatikleştirmeye yardımcı olmak için Objective Sharpie aracımızı kullanma.
C# ve F# ile 32 ve 64 bit kodu saydam olarak desteklemek için yeni veri türlerini kullanıma sunuyoruz. Buradan bilgi edinebilirsiniz.
32 ve 64 bit uygulamaları desteklemek için bilmeniz gerekenler.
Bu makale, nuint
nfloat
kodun Android veya Windows Telefon işletim sistemi gibi iOS dışı cihazlarla paylaşıldığı platformlar arası bir uygulamada yeni iOS Birleşik API Yerel türlerini (nint
, , ) kullanmayı kapsar.
Yerel türlerin ne zaman kullanılacağına ilişkin içgörü sağlar ve yeni türün platformlar arası kodla kullanılması gereken durumlara yönelik çeşitli olası çözümler sağlar.
Yeni HttpClient Stack Selector, Xamarin.iOS, Xamarin.tvOS ve Xamarin.Mac uygulamanızda hangi HttpClient uygulamasının kullanılacağını denetler. Artık iOS'un, tvOS'un veya OS X'in yerel aktarımlarını (NSUrlSession
veya CFNetwork
işletim sistemine bağlı olarak) kullanan bir uygulamaya geçebilirsiniz.
SSL (Güvenli Yuva Katmanı) ve ardılı TLS (Aktarım Katmanı Güvenliği), aracılığıyla System.Net.Security.SslStream
HTTP ve diğer ağ bağlantıları için destek sağlar. Yeni SSL/TLS uygulama derleme seçeneği Mono'nun kendi TLS yığını ile Apple'ın Mac ve iOS'ta bulunan TLS yığını tarafından desteklenen bir yığın arasında geçiş yapar.