Sdílet prostřednictvím


Začínáme s Objective Sharpie

Důležité

Objective Sharpie je nástroj pro zkušené vývojáře Xamarinu s pokročilými znalostmi Objective-C (a rozšířením C). Než se pokusíte svázat knihovnu Objective-C , měli byste mít solidní znalosti o tom, jak vytvořit nativní knihovnu na příkazovém řádku (a dobře pochopit, jak nativní knihovna funguje).

Instalace Objective Sharpie

Objective Sharpie je v současné době samostatný nástroj příkazového řádku pro Mac OS X 10.10 a novější a není plně podporovaným produktem Xamarin. Měli by ho používat jenom pokročilí vývojáři, kteří můžou pomoct při vytváření vazeb projektu s knihovnou třetích stran Objective-C .

Objective Sharpie lze stáhnout jako standardní instalační program balíčku OS X. Spusťte instalační program a postupujte podle pokynů na obrazovce v průvodci instalací:

Tip

sharpie update Pomocí příkazu aktualizujte na nejnovější verzi.

Základní návod

Objective Sharpie je nástroj příkazového řádku, který poskytuje Xamarin, který pomáhá při vytváření definic potřebných k vytvoření vazby knihovny třetí strany Objective-C na jazyk C#. I když používáte Objective Sharpie, vývojář bude muset upravit vygenerované soubory po dokončení Objective Sharpie vyřešit všechny problémy, které nelze automaticky zpracovat nástrojem.

Pokud je to možné, Objective Sharpie označí rozhraní API, se kterými má pochybnosti o tom, jak správně svázat (mnoho konstruktorů v nativním kódu je nejednoznačných). Tyto poznámky se zobrazí jako [Verify] atributy.

Výstup Objective Sharpie je dvojice souborů ( ApiDefinition.cs a StructsAndEnums.cs ), které lze použít k vytvoření vazbového projektu, který se zkompiluje do knihovny, kterou můžete použít v aplikacích Xamarin.

Důležité

Objective Sharpie se dodává s jedním hlavním pravidlem pro správné použití: musíte mu naprosto předat správné argumenty příkazového řádku kompilátoru clang, aby se zajistilo správné parsování. Důvodem je to, že fáze parsování Objective Sharpie je jednoduše nástroj implementovaný proti rozhraní API knihovny clang.

To znamená, že Objective Sharpie má plnou sílu jazyka Clang (kompilátor C//Objective-CC++, který ve skutečnosti kompiluje nativní knihovnu, kterou byste sváželi) a všechny jeho interní znalosti o souborech hlaviček pro vazbu. Místo překladu analyzovaného AST na kód objektu přeloží Objective Sharpie AST na vazbu jazyka C# vhodné pro vstup do bmac nástrojů btouch pro vazby Xamarinu.

Pokud Objective Sharpie během analýzy chybuje, znamená to, že clang se během fáze analýzy pokusil sestavit AST a musíte zjistit, proč.

NOVINKA! Verze 3.0 se pokouší některé z těchto složitostí vyřešit přímo podporou projektů Xcode. Pokud má nativní knihovna platný projekt Xcode, Objective Sharpie může vyhodnotit projekt pro zadaný cíl a konfiguraci, aby bylo možné odvodit potřebné vstupní hlavičkové soubory a příznaky kompilátoru.

Pokud není k dispozici žádný projekt Xcode, budete muset být obeznámeni s projektem odstraněním správných vstupních hlavičkových souborů, cest hledání souborů hlaviček a dalších nezbytných příznaků kompilátoru. Je důležité si uvědomit, že příznaky kompilátoru použité k sestavení nativní knihovny jsou stejné, které musí být předány Objective Sharpie. Jedná se o ruční proces, který vyžaduje trochu znalosti kompilace nativního kódu na příkazovém řádku pomocí sady nástrojů Clang.