Vložená rozhraní v Xamarin. iOS

Tento dokument popisuje, jak můžou vývojáři aplikací vkládat uživatelské rozhraní do svých aplikací.

U iOS 8,0 Apple bylo možné vytvořit vložené rozhraní pro sdílení kódu mezi rozšířeními aplikací a hlavní aplikací v Xcode.

Xamarin. iOS 9,0 přidává podporu pro využívání těchto vložených rozhraní (vytvořených pomocí Xcode) v aplikacích Xamarin. iOS. Nebude možné vytvořit vložená rozhraní z libovolného typu projektů Xamarin. iOS, využívat pouze existující nativní architektury ().

Existují dva způsoby, jak využívat architektury v Xamarin. iOS:

  • Předejte rozhraní nástroji mtouch přidáním následujícího do dalších argumentů mtouch v možnostech sestavení v projektu iOS :

    --framework:/Path/To/My.Framework
    

    To je nutné nastavit pro každou konfiguraci projektu.

  • Přidat nativní odkazy z místní nabídky

klikněte pravým tlačítkem na Project a přejděte na přidat nativní odkazy.

v Visual Studio pro Mac vyberte přidat nativní odkazy.

To bude fungovat pro všechny konfigurace.

v budoucích verzích Visual Studio pro Mac a nástrojích Xamarin pro Visual Studio bude možné využívat architektury z integrovaného vývojového prostředí (bez nutnosti upravovat soubory projektu ručně).

Na GitHubu najdete několik ukázkových projektů.

Omezení

  • Vložená rozhraní se podporují jenom v sjednocených projektech.
  • Vložená rozhraní se podporují jenom v projektech s cílem nasazení aspoň iOS 8,0.
  • Pokud rozšíření vyžaduje vložené rozhraní, musí mít kontejnerová aplikace také odkaz na rozhraní, jinak rozhraní nebude zahrnuto do sady prostředků aplikace.

Mono runtime

Interně Xamarin. iOS využívá tuto funkci k propojení Mono runtime jako architektury namísto propojení Mono runtime staticky do jednotlivých rozšíření a aplikace typu kontejner.

To se provádí automaticky, pokud je aplikace kontejneru jednotnou aplikací, obsahuje rozšíření a cílové nasazení je iOS 8,0 nebo vyšší.

Aplikace bez rozšíření budou nadále propojeny s Mono runtime staticky, protože pro použití architektury je k dispozici pouze jedna aplikace, která na ni odkazuje.

Toto chování může přepsat vývojář aplikace tím, že do možností sestavení iOS v projektu přidá následující příkaz jako další argument mtouch:

  • --mono:static: Odkazy s Mono runtime staticky.
  • --mono:framework: Odkazy s Mono runtime jako rozhraní.

Jeden scénář pro propojení s Mono runtime jako rozhraní i pro aplikace bez rozšíření je zmenšení velikosti spustitelného souboru, aby se vyřešila jakákoli omezení velikosti, která se ve spustitelném souboru vynutila. Pro referenci Mono runtime přidá přibližně 1.7 MB na architekturu (od Xamarin. iOS 8,12, ale může se lišit mezi vydáními a i mezi aplikacemi). Rozhraní mono přináší přibližně 2,3 MB na architekturu, což znamená, že pro aplikaci s jedinou architekturou bez jakýchkoli rozšíření je potřeba, aby odkaz na aplikaci s Mono runtime jako systém zmenšoval spustitelný soubor o ~ 1.7 MB, ale přidalo ~ 2,3 MB rozhraní a výsledkem je ~ 0,6 MB větší všechny najednou aplikace.