Vázání knihoven SWIFT pro iOS

Důležité

V současné době zkoumáme vlastní použití vazeb na platformě Xamarin. Vezměte prosím Tento průzkum a informujte budoucí vývojové úsilí.

Platforma iOS, společně s jejími nativními jazyky a nástroji, se neustále vyvíjí a existuje spousta knihoven třetích stran vyvinutých pomocí nejnovějších nabídek. Maximalizace kódu a opětovného použití komponenty je jedním z klíčových cílů vývoje pro různé platformy. Možnost znovu použít komponenty sestavené pomocí SWIFT má pro vývojáře v Xamarin stále větší důležitost, protože jejich oblíbenost mezi vývojáři stále roste. Je možné, že již jste obeznámeni s procesem vázání běžných Objective-C knihoven. K dispozici je nyní další dokumentace popisující proces vazby na rozhraní SWIFT, aby byla pro aplikaci Xamarin spotřební stejným způsobem. Účelem tohoto dokumentu je popsání vysoké úrovně přístupu k vytvoření vazby SWIFT pro Xamarin.

Přístup na vysokou úroveň

Pomocí Xamarin můžete navazovat všechny nativní knihovny třetích stran, které jsou pro aplikaci Xamarin spotřební. SWIFT je nový jazyk a vytváření vazeb pro knihovny sestavené s tímto jazykem vyžaduje některé další kroky a nástroje. Tento přístup se skládá z následujících čtyř kroků:

  1. Sestavení nativní knihovny
  2. Příprava metadat Xamarin, která umožňuje nástrojům Xamarin generovat třídy jazyka C#
  3. Sestavení knihovny pro vytváření vazeb Xamarin pomocí nativní knihovny a metadat
  4. Využití knihovny vazeb Xamarin v aplikaci Xamarin

Následující části popisují tyto kroky s dalšími podrobnostmi.

Sestavení nativní knihovny

Prvním krokem je vytvoření nativního rozhraní SWIFT, které je připravené s Objective-C hlavičkou. Tento soubor je automaticky vygenerované záhlaví, které zpřístupňuje požadované třídy SWIFT, metody a pole, které je zpřístupní pro i Objective-C nakonec C# prostřednictvím knihovny pro vytváření vazeb Xamarin. Tento soubor je umístěn v rámci rozhraní v rámci následující cesty: rámcovým > . Framework/Headers/ <> -r-SWIFT. h. Pokud zpřístupněné rozhraní obsahuje všechny požadované členy, můžete přejít k dalšímu kroku. V opačném případě jsou nutné další kroky k vystavení těchto členů. Přístup bude záviset na tom, zda máte přístup ke zdrojovému kódu rozhraní SWIFT Framework:

  • Máte-li přístup k kódu, můžete požadované členy SWIFT rozčlenit s @objc atributem a použít několik dalších pravidel, aby si nástroje Xcode Build věděli, že tyto členy by měly být zveřejněny na Objective-C celém světě a v hlavičce.
  • Pokud nemáte přístup ke zdrojovému kódu, je nutné vytvořit proxy server SWIFT, který zabalí původní architekturu SWIFT a definuje veřejné rozhraní požadované vaší aplikací pomocí @objc atributu.

Příprava metadat Xamarin

Druhým krokem je příprava rozhraní definice rozhraní API, které jsou používány projektem vazby k vygenerování tříd jazyka C#. Tyto definice mohou být vytvořeny ručně nebo automaticky pomocí nástroje pro objektivní ostrost a výše zmíněného hlavičkového souboru s automaticky generovaným souborem. 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í knihovny vazeb pro projekt – Xamarin. iOS. Odkazuje na rozhraní a metadata, která jsou připravená v předchozím kroku, spolu s dalšími závislostmi, na kterých se příslušné rozhraní opírá. Také zpracovává propojení odkazovaných nativních rozhraní s náročnou aplikací Xamarin. iOS.

Využití knihovny vazeb Xamarin

Čtvrtý a poslední krok je odkazování na knihovnu vazeb v aplikaci Xamarin. iOS. Je dostačující povolit použití nativní knihovny v aplikacích Xamarin. iOS cílících na iOS 12,2 a vyšší. U aplikací cílících na nižší verzi se vyžadují některé další kroky:

  • Přidání závislostí SWIFT DYLIB pro podporu modulu runtime. Od verze iOS 12,2 a SWIFT 5,1 byl jazyk spuštěn ABI (binární rozhraní aplikace) stabilní a kompatibilní. To je důvod, proč každá aplikace, která cílí na nižší verzi iOS, musí zahrnovat dylibs závislosti, které používá rozhraní. k automatickému zahrnutí požadovaných závislostí dylib do výsledného balíčku aplikace použijte balíček SwiftRuntimeSupport NuGet .
  • Přidejte složku SwiftSupport s podepsaným dylibs, která je ověřena AppStore během nahrávání procesu. Balíček by měl být podepsán a distribuován do AppStore Connect pomocí nástrojů Xcode, jinak bude automaticky odmítnut.

Názorný postup

Výše uvedený postup popisuje kroky vysoké úrovně, které jsou potřeba k vytvoření vazby SWIFT pro Xamarin. K dispozici je mnoho kroků nižší úrovně a další podrobnosti, které je potřeba vzít v úvahu při přípravě těchto vazeb v praxi, včetně přizpůsobení změn v nativních nástrojích a jazycích. Záměrem je přispět k hlubšímu porozumění této koncepci a krokům vysoké úrovně, které se týkají tohoto procesu. Podrobný návod najdete v dokumentaci k vytváření vazeb Xamarin SWIFT .