Udostępnij za pośrednictwem


Wprowadzenie do aplikacji Objective Sharpie

Ważne

Objective Sharpie to narzędzie dla doświadczonych deweloperów platformy Xamarin z zaawansowaną wiedzą Objective-C (i według rozszerzenia C). Przed podjęciem próby powiązania Objective-C biblioteki należy mieć solidną wiedzę na temat tworzenia biblioteki natywnej w wierszu polecenia (i dobrego zrozumienia sposobu działania biblioteki natywnej).

Instalowanie aplikacji Objective Sharpie

Objective Sharpie jest obecnie autonomicznym narzędziem wiersza polecenia dla systemu Mac OS X 10.10 i nowszym i nie jest w pełni obsługiwanym produktem Xamarin. Powinien on być używany tylko przez zaawansowanych deweloperów, aby pomóc w tworzeniu projektu powiązania z biblioteką innej firmy Objective-C .

Objective Sharpie można pobrać jako standardowy instalator pakietu OS X. Uruchom instalatora i postępuj zgodnie ze wszystkimi monitami wyświetlanymi na ekranie kreatora instalacji:

Napiwek

sharpie update Użyj polecenia , aby zaktualizować do najnowszej wersji.

Przewodnik podstawowy

Objective Sharpie to narzędzie wiersza polecenia udostępniane przez platformę Xamarin, które pomaga w tworzeniu definicji wymaganych do powiązania biblioteki innej firmy Objective-C z C#. Nawet w przypadku korzystania z aplikacji Objective Sharpie deweloper będzie musiał zmodyfikować wygenerowane pliki po zakończeniu funkcji Objective Sharpie, aby rozwiązać wszelkie problemy, które nie mogą być automatycznie obsługiwane przez narzędzie.

Jeśli to możliwe, funkcja Objective Sharpie będzie dodawać adnotacje do interfejsów API, z którymi ma wątpliwości co do prawidłowego powiązania (wiele konstrukcji w kodzie natywnym jest niejednoznacznych). Te adnotacje będą wyświetlane jako [Verify] atrybuty.

Dane wyjściowe aplikacji Objective Sharpie to para plików — ApiDefinition.cs i StructsAndEnums.cs — które mogą służyć do tworzenia projektu powiązania, który kompiluje się w bibliotece, której można używać w aplikacjach platformy Xamarin.

Ważne

Język Objective Sharpie zawiera jedną główną regułę odpowiedniego użycia: należy bezwzględnie przekazać do niego poprawne argumenty wiersza polecenia kompilatora clang w celu zapewnienia prawidłowego analizowania. Jest to spowodowane tym, że faza analizowania objective Sharpie jest po prostu narzędziem zaimplementowanym względem interfejsu API biblioteki clang.

Oznacza to, że funkcja Objective Sharpie ma pełną moc języka Clang (kompilator języka C/Objective-C/C++, który faktycznie kompiluje bibliotekę natywną, którą należy powiązać) i całą wewnętrzną wiedzę na temat plików nagłówków na potrzeby powiązania. Zamiast tłumaczyć przeanalizowany kod AST na kod obiektu, objective Sharpie tłumaczy AST na powiązanie języka C# odpowiednie do danych wejściowych bmac i btouch narzędzi powiązań platformy Xamarin.

Jeśli funkcja Objective Sharpie napotka błędy podczas analizowania, oznacza to, że język clang napotkał błąd podczas fazy analizowania próbującej skonstruować AST i musisz dowiedzieć się, dlaczego.

NOWOŚĆ! Próby wersji 3.0 odnoszą się do niektórych z tych złożoności przez bezpośrednie obsługę projektów Xcode. Jeśli biblioteka natywna ma prawidłowy projekt Xcode, objective Sharpie może ocenić projekt dla określonego obiektu docelowego i konfiguracji w celu obliczenia niezbędnych plików nagłówków wejściowych i flag kompilatora.

Jeśli żaden projekt Xcode nie jest dostępny, musisz lepiej zapoznać się z projektem, usuwając poprawne pliki nagłówka wejściowego, ścieżki wyszukiwania plików nagłówka i inne niezbędne flagi kompilatora. Należy pamiętać, że flagi kompilatora używane do kompilowania biblioteki natywnej są takie same, które muszą zostać przekazane do aplikacji Objective Sharpie. Jest to bardziej ręczny proces, który wymaga nieco znajomości kompilowania kodu natywnego w wierszu polecenia za pomocą łańcucha narzędzi Clang.