Vytvoření vazby knihoven iOS Swift
Důležité
V současné době prošetřujeme využití vlastních vazeb na platformě Xamarin. Pokud chcete informovat budoucí úsilí o rozvoj, využijte tento průzkum .
Platforma pro iOS spolu s nativními jazyky a nástroji se neustále vyvíjí a existuje spousta knihoven třetích stran, které byly vyvinuty pomocí nejnovějších nabídek. Maximalizace opětovného použití kódu a komponent je jedním z klíčových cílů vývoje pro různé platformy. Schopnost opakovaně používat komponenty vytvořené pomocí Swiftu je pro vývojáře Xamarin stále důležitější, protože jejich popularita mezi vývojáři stále roste. Možná už znáte proces vazby běžných Objective-C knihoven. K dispozici je teď další dokumentace popisující proces vytvoření vazby rozhraní Swift, takže jsou využitelné aplikací Xamarin stejným způsobem. Účelem tohoto dokumentu je popsat obecný přístup k vytvoření vazby Swift pro Xamarin.
Přístup vysoké úrovně
S Xamarinem můžete vytvořit vazbu libovolné nativní knihovny třetích stran, aby ji mohl používat aplikace Xamarin. Swift je nový jazyk a vytváření vazeb pro knihovny vytvořené v tomto jazyce vyžaduje několik dalších kroků a nástrojů. Tento přístup zahrnuje následující čtyři kroky:
- Sestavení nativní knihovny
- Příprava metadat Xamarinu, která umožňuje nástrojům Xamarinu generovat třídy jazyka C#
- Vytvoření knihovny vazeb Xamarinu pomocí nativní knihovny a metadat
- Využívání knihovny vazeb Xamarin v aplikaci Xamarin
Následující části popisují tyto kroky s dalšími podrobnostmi.
Sestavení nativní knihovny
Prvním krokem je připravit nativní architekturu Swift Framework s vytvořenou hlavičkou Objective-C . Tento soubor je automaticky vygenerovaná hlavička, která zpřístupňuje požadované třídy, metody a pole Swiftu, které zpřístupňují Objective-C jazyk C# prostřednictvím knihovny vazeb Xamarinu. Tento soubor se nachází v rámci architektury v následující cestě: FrameworkName.framework>/Headers/<FrameworkName-Swift.h>.< Pokud má vystavené rozhraní všechny požadované členy, můžete přejít k dalšímu kroku. Jinak jsou k zveřejnění těchto členů potřeba další kroky. Přístup bude záviset na tom, jestli máte přístup ke zdrojovému kódu architektury Swift:
- Pokud máte přístup k kódu, můžete vyzdobit požadované členy Swiftu pomocí atributu
@objc
a použít několik dalších pravidel, aby nástroje pro sestavení Xcode věděly, že tito členové by měli být vystaveni světu Objective-C a hlavičce. - Pokud nemáte přístup ke zdrojovému kódu, musíte vytvořit proxy architekturu Swift, která zabalí původní architekturu Swift a definuje veřejné rozhraní vyžadované vaší aplikací pomocí atributu
@objc
.
Příprava metadat Xamarinu
Druhým krokem je příprava rozhraní API pro definice, která používají projekt vazby ke generování tříd jazyka C#. Tyto definice lze vytvořit ručně nebo automaticky nástrojem Objective Sharpie a výše uvedeným automaticky vygenerovaným< souborem hlavičky FrameworkName-Swift.h>. Po vygenerování metadat by se měla ověřit a ověřit ručně.
Sestavení knihovny vazeb Xamarin.iOS
Třetím krokem je vytvoření speciálního projektu – knihovny vazeb Xamarin.iOS. Odkazuje na architektury a metadata připravená v předchozím kroku spolu s dalšími závislostmi, na kterých je příslušná architektura závislá. Zpracovává také propojení odkazovaných nativních architektur s využitím aplikace Xamarin.iOS.
Využití knihovny vazeb Xamarinu
Čtvrtým a posledním krokem je odkazování na knihovnu vazeb v aplikaci Xamarin.iOS. Stačí povolit použití nativní knihovny v aplikacích Xamarin.iOS, které cílí na iOS 12.2 a vyšší. Pro tyto aplikace, které cílí na nižší verzi, jsou potřeba některé další kroky:
- Přidání závislostí Swift dylib pro podporu modulu runtime Od iOS 12.2 a Swiftu 5.1 se jazyk stal stabilním a kompatibilním jazykem ABI (binární rozhraní aplikace). To je důvod, proč každá aplikace, která cílí na nižší verzi iOS, musí obsahovat závislosti Swift dylibs používané architekturou. Balíček NuGet SwiftRuntimeSupport použijte k automatickému zahrnutí požadovaných závislostí dylib do výsledného balíčku aplikace.
- Přidejte složku SwiftSupport se podepsanými identifikátory dylibs, která je ověřena appstorem během procesu nahrávání. Balíček by se měl podepsat a distribuovat do appStore connect pomocí nástrojů Xcode, jinak se automaticky odmítne.
Názorný postup
Výše uvedený přístup popisuje základní kroky potřebné k vytvoření vazby Swiftu pro Xamarin. Při přípravě těchto vazeb v praxi je potřeba vzít v úvahu mnoho kroků nižší úrovně a další podrobnosti, včetně přizpůsobení se změnám v nativních nástrojích a jazycích. Záměrem je pomoct vám lépe porozumět tomuto konceptu a krokům vysoké úrovně, které jsou součástí tohoto procesu. Podrobný průvodce najdete v dokumentaci k návodu k vazbě Xamarin Swift .