Aracılığıyla paylaş


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, nuintnfloatkodun 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.SslStreamHTTP 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.