Freigeben über


Objective Sharpie Tools & Commands

Übersicht über die Tools, die in Objective Sharpie enthalten sind, und die Befehlszeilenargumente, die verwendet werden sollen.

Sobald Objective Sharpie erfolgreich installiert ist, öffnen Sie ein Terminal und machen Sie sich mit den Befehlen Objective Sharpie vertraut:

$ 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

Objective Sharpie bietet die folgenden Tools:

Tool Beschreibung
Xcode Enthält Informationen zur aktuellen Xcode-Installation und zu den verfügbaren Versionen von iOS- und Mac-SDKs. Wir verwenden diese Informationen später, wenn wir unsere Bindungen generieren.
Pod Sucht nach, konfiguriert, installiert (in einem lokalen Verzeichnis) und bindet Objective-CCocoaPod-Bibliotheken , die im Master-Spec-Repository verfügbar sind. Dieses Tool wertet den installierten CocoaPod aus, um die korrekte Eingabe automatisch abzuleiten, um an das bind folgende Tool zu übergeben. Neu in 3.0!
bind Analysiert die Headerdateien (*.h) in der Objective-C Bibliothek in die anfänglichen Dateien "ApiDefinition.cs" und "StructsAndEnums.cs ".
Aktualisierung Sucht nach neueren Versionen von Objective Sharpie und lädt das Installationsprogramm herunter, wenn eine verfügbar ist.
verify-docs Zeigt detaillierte Informationen zu [Verify] Attributen an.
docs Navigiert in Ihrem Standardwebbrowser zu diesem Dokument.

Um Hilfe zu einem bestimmten Objective Sharpie-Tool zu erhalten, geben Sie den Namen des Tools und die -help Option ein. Gibt beispielsweise sharpie xcode -help die folgende Ausgabe zurück:

$ 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.

Bevor wir den Bindungsprozess starten können, müssen wir Informationen zu unseren aktuellen installierten SDKs abrufen, indem wir den folgenden Befehl in das Terminal sharpie xcode -sdkseingeben. Ihre Ausgabe kann je nach installierter Xcode-Version variieren. Objective Sharpie sucht nach SDKs, die in einem Xcode*.app beliebigen /Applications Verzeichnis installiert sind:

$ 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

Von oben aus können wir sehen, dass das iphoneos9.1 SDK auf unserem Computer installiert ist und über Architekturunterstützung verfügt arm64 . Wir verwenden diesen Wert für alle Beispiele in diesem Abschnitt. Mit diesen Informationen sind wir bereit, eine Objective-C Bibliothekskopfdateien in das anfängliche ApiDefinition.cs und StructsAndEnums.cs für das Binding-Projekt zu analysieren.