Condividi tramite


Strumenti e comandi di Objective Sharpie

Panoramica degli strumenti inclusi in Objective Sharpie e gli argomenti della riga di comando per usarli.

Dopo l'installazione di Objective Sharpie, aprire un terminale e acquisire familiarità con i comandi Objective Sharpie deve offrire:

$ 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 offre gli strumenti seguenti:

Strumento Descrizione
Xcode Fornisce informazioni sull'installazione Xcode corrente e sulle versioni degli SDK iOS e Mac disponibili. Queste informazioni verranno usati in un secondo momento quando si generano le associazioni.
Pod Cerca, configura, installa (in una directory locale) e associa Objective-Cle librerie CocoaPod disponibili nel repository master Spec. Questo strumento valuta l'oggetto CocoaPod installato per dedurre automaticamente l'input corretto da passare allo bind strumento seguente. Novità nella versione 3.0!
bind Analizza i file di intestazione (*.h) nella Objective-C libreria nei file iniziali ApiDefinition.cs e StructsAndEnums.cs .
update Verifica la presenza di versioni più recenti di Objective Sharpie e scarica e avvia il programma di installazione, se disponibile.
verify-docs Mostra informazioni dettagliate sugli [Verify] attributi.
Documentazione Passa a questo documento nel Web browser predefinito.

Per ottenere assistenza su uno strumento Objective Sharpie specifico, immettere il nome dello strumento e l'opzione -help . Ad esempio, restituisce sharpie xcode -help l'output seguente:

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

Prima di poter avviare il processo di associazione, è necessario ottenere informazioni sugli SDK installati correnti immettendo il comando seguente nel terminale sharpie xcode -sdks. L'output può variare a seconda delle versioni di Xcode installate. Objective Sharpie cerca gli SDK installati in qualsiasi Xcode*.app nella /Applications directory:

$ 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

Come illustrato in precedenza, è possibile notare che l'SDK iphoneos9.1 è installato nel computer e che include arm64 il supporto dell'architettura. Questo valore verrà usato per tutti gli esempi in questa sezione. Con queste informazioni, è possibile analizzare i file di intestazione di una Objective-C libreria nell'oggetto iniziale ApiDefinition.cs e StructsAndEnums.cs per il progetto binding.