Udostępnij za pośrednictwem


Narzędzia Objective Sharpie i polecenia

Omówienie narzędzi zawartych w narzędziu Objective Sharpie oraz argumentów wiersza polecenia do ich użycia.

Po pomyślnym zainstalowaniu aplikacji Objective Sharpie otwórz terminal i zapoznaj się z poleceniami Objective Sharpie, które należy zaoferować:

$ sharpie -help
usage: sharpie [OPTIONS] TOOL [TOOL_OPTIONS]

Options:
  -h, -help                Show detailed help
  -v, -version             Show version information

Telemetry Options:
  -tlm-about               Show a detailed overview of what usage and binding
                             information will be submitted to Xamarin by
                             default when using Objective Sharpie.
  -tlm-do-not-submit       Do not submit any usage or binding information to
                             Xamarin. Run 'sharpie -tml-about' for more
                             information.
  -tlm-do-not-identify     Do not submit Xamarin account information when
                             submitting usage or binding information to Xamarin
                             for analysis. Binding attempts and usage data will
                             be submitted anonymously if this option is
                             specified.

Available Tools:
  xcode              Get information about Xcode installations and available SDKs.
  pod                Create a Xamarin C# binding to Objective-C CocoaPods
  bind               Create a Xamarin C# binding to Objective-C APIs
  update             Update to the latest release of Objective Sharpie
  verify-docs        Show cross reference documentation for [Verify] attributes
  docs               Open the Objective Sharpie online documentation

Aplikacja Objective Sharpie udostępnia następujące narzędzia:

Narzędzie opis
Xcode Zawiera informacje o bieżącej instalacji programu Xcode oraz dostępnych wersjach zestawów SDK systemów iOS i Mac. Będziemy używać tych informacji później podczas generowania powiązań.
zasobnik Wyszukuje, konfiguruje, instaluje (w katalogu lokalnym) i wiąże Objective-Cbiblioteki CocoaPod dostępne z repozytorium głównej specyfikacji. To narzędzie ocenia zainstalowaną aplikację CocoaPod, aby automatycznie dedufikować poprawne dane wejściowe, aby przekazać je do poniższego bind narzędzia. Nowość w wersji 3.0!
Powiązać Analizuje pliki nagłówków (*.h) w Objective-C bibliotece do początkowych plików ApiDefinition.cs i StructsAndEnums.cs .
update Sprawdza nowsze wersje aplikacji Objective Sharpie i pobiera i uruchamia instalatora, jeśli jest dostępny.
verify-docs Przedstawia szczegółowe informacje o [Verify] atrybutach.
docs Przechodzi do tego dokumentu w domyślnej przeglądarce internetowej.

Aby uzyskać pomoc dotyczącą określonego narzędzia Objective Sharpie, wprowadź nazwę narzędzia i -help opcję. Na przykład sharpie xcode -help zwraca następujące dane wyjściowe:

$ sharpie xcode -help
usage: sharpie xcode [OPTIONS]

Options:
  -h, -help        Show detailed help
  -v, -verbose     Be verbose with output

Xcode Options:
  -sdks            List all available Xcode SDKs. Pass -verbose for more details.

Zanim zaczniemy proces tworzenia powiązania, musimy uzyskać informacje o naszych bieżących zainstalowanych zestawach SDK, wprowadzając następujące polecenie w terminalu sharpie xcode -sdks. Dane wyjściowe mogą się różnić w zależności od zainstalowanych wersji programu Xcode. Objective Sharpie szuka zestawów SDK zainstalowanych w dowolnym Xcode*.app katalogu /Applications :

$ sharpie xcode -sdks
sdk: appletvos9.0    arch: arm64
sdk: iphoneos9.1     arch: arm64   armv7
sdk: iphoneos9.0     arch: arm64   armv7
sdk: iphoneos8.4     arch: arm64   armv7
sdk: macosx10.11     arch: x86_64  i386
sdk: macosx10.10     arch: x86_64  i386
sdk: watchos2.0      arch: armv7

Z powyższych danych widać, że na naszej maszynie jest iphoneos9.1 zainstalowany zestaw SDK i ma arm64 on obsługę architektury. Użyjemy tej wartości dla wszystkich przykładów w tej sekcji. Dzięki tym informacjom możemy przeanalizować Objective-C pliki nagłówka biblioteki do początkowego ApiDefinition.cs i StructsAndEnums.cs dla projektu Binding.