Apple Platform (iOS a Mac)

Sdílení kódu

U prvků kódu, které nemají žádné prvky uživatelského rozhraní, je nejlepší způsob sdílení kódu mezi iOS a Mac stále používá přenosné knihovny tříd.

Pro kód, který musí udělat nějaké uživatelské rozhraní, a přesto chcete sdílet, byste měli použít sdílené projekty , které umožňují umístit kód ke sdílení v jednom projektu a nechat ho zkompilovat s Mac i iOS při odkazování.

Unified API

Jednotné rozhraní API pro projekty iOS a Mac používá stejné obory názvů pro architektury, aby se stejný soubor kódu mohl používat na obou platformách pro bezproblémové sdílení kódu. Umožňuje také 32bitová i 64bitová sestavení. Jednotné rozhraní API je výchozí šablonou od začátku roku 2015 a doporučuje se pro všechny nové projekty – do App Storu se dají odesílat jenom projekty sjednoceného rozhraní API.

Klasická rozhraní API

Poznámka:

Vyřazení klasického profilu: Při přidání nových platforem v Xamarin.iOS začneme postupně vyřadit funkce z klasického profilu (monotouch.dll). Například byla odebrána možnost jiného typu než NRC (new-ref-count). NRC byla vždy povolena pro všechny sjednocené aplikace (tj. bez NRC nikdy nebyla možnost) a nemá žádné známé problémy. Budoucí verze odeberou možnost použití boehm jako uvolňování paměti. Tato možnost byla také nikdy dostupná pro sjednocené aplikace. Úplné odebrání klasické podpory je naplánované na podzim 2016 s vydáním Xamarin.iOS 10.0.

Původní rozhraní API Xamarin.iOS a Xamarin.Mac (nejednotná) ztěžovala sdílení kódu, protože nativní architektury měly předpony oboru MonoTouch. názvů nebo buď MonoMac. předpony oboru názvů. Poskytli jsme některé prázdné obory názvů, které vývojářům umožňují sdílet kód přidáním using příkazů, které odkazují na obory názvů MonoMac i MonoTouch ve stejném souboru, ale to bylo trochu ošklivé. Klasické rozhraní API by se mělo dál používat jenom ve starších aplikacích, které jsou interně distribuované (doporučuje se upgrade na sjednocené rozhraní API).

Aktualizace z modelu Classic na sjednocené rozhraní API

Existují podrobné pokyny pro aktualizaci jakékoli aplikace z modelu Classic na sjednocené rozhraní API.

Knihovny vazeb Objective-C

Xamarin umožňuje přenést nativní knihovny do aplikací pomocí vazeb. Tato část vysvětluje:

  • jak fungují vazby,
  • ruční sestavení vazbového projektu, který umožňuje přenést Objective-C kód do Xamarinu a
  • jak používat náš nástroj Objective Sharpie k automatizaci procesu.

Nativní odkazy

Nativní typy pro Mac/iOS

Pro podporu 32bitového a 64bitového kódu transparentně z C# a F# zavádíme nové datové typy. Další informace o nich najdete tady.

Vytváření 32bitových a 64bitových aplikací

Co potřebujete vědět pro podporu 32 a 64bitových aplikací.

Práce s nativní typy v multiplatformních aplikacích

Tento článek popisuje použití nových nativních typů rozhraní API pro iOS (nint, nuint, nfloat) v multiplatformní aplikaci, kde se kód sdílí se zařízeními mimo iOS, jako je Android nebo Windows Telefon operační systém. Poskytuje přehled o tom, kdy se mají používat nativní typy, a poskytuje několik možných řešení pro případy, kdy se nový typ musí používat s kódem pro různé platformy.

Selektor implementace zásobníku HttpClient a protokolu SSL/TLS

Nový selektor zásobníku HttpClient určuje, kterou implementaci HttpClient se má použít ve vaší aplikaci Xamarin.iOS, Xamarin.tvOS a Xamarin.Mac. Teď můžete přepnout na implementaci, která používá nativní přenosy iOS, tvOS nebo OS X (NSUrlSession nebo CFNetwork v závislosti na operačním systému).

SSL (Secure Socket Layer) a jeho následník, TLS (Transport Layer Security), poskytuje podporu protokolu HTTP a dalších síťových připojení prostřednictvím System.Net.Security.SslStream. Nová možnost sestavení implementace PROTOKOLU SSL/TLS přepíná mezi vlastním zásobníkem TLS mono a jedním ze zásobníků TLS společnosti Apple, které je přítomné v systémech Mac a iOS.