Apple Platformu (iOS ve Mac)
Kod Paylaşımı
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.
Unified API
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.
Klasik API'ler
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).
Klasikten Birleşik API'ye güncelleştirme
Klasik'ten Birleşik API'ye herhangi bir uygulamayı güncelleştirmeye yönelik ayrıntılı yönergeler vardır.
Bağlama Objective-C Kitaplıkları
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.
Yerel Başvurular
Mac/iOS Yerel Türleri
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 oluşturma
32 ve 64 bit uygulamaları desteklemek için bilmeniz gerekenler.
Platformlar Arası Uygulamalarda Yerel Türlerle Çalışma
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.
HttpClient Yığını ve SSL/TLS Uygulama Seçicisi
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.