Compartilhar via


Ferramentas objetivas de Sharpie & Comandos

Visão geral das ferramentas incluídas no Objective Sharpie e os argumentos de linha de comando para usá-las.

Depois que o Objective Sharpie for instalado com sucesso, abra um terminal e familiarize-se com os comandos que o Objective Sharpie tem a oferecer:

$ 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

O Objective Sharpie fornece as seguintes ferramentas:

Ferramenta Descrição
xcode Fornece informações sobre a instalação atual do Xcode e as versões dos SDKs do iOS e Mac disponíveis. Usaremos essas informações mais tarde, quando gerarmos nossas vinculações.
vagem Pesquisa, configura, instala (em um diretório local) e vincula bibliotecas do CocoaPod Objective-C disponíveis no repositório mestre de especificações. Esta ferramenta avalia o CocoaPod instalado para deduzir automaticamente a entrada correta para passar para a bind ferramenta abaixo. Novo no 3.0!
bind Analisa os arquivos de cabeçalho (*.h) na Objective-C biblioteca nos arquivos iniciais ApiDefinition.cs e StructsAndEnums.cs arquivos.
update Verifica se há versões mais recentes do Objective Sharpie e baixa e inicia o instalador, se houver um disponível.
verify-docs Mostra informações detalhadas sobre [Verify] atributos.
docs Navega até este documento no navegador da Web padrão.

Para obter ajuda sobre uma ferramenta específica do Objective Sharpie, digite o nome da ferramenta e a -help opção. Por exemplo, sharpie xcode -help retorna a seguinte saída:

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

Antes de iniciarmos o processo de vinculação, precisamos obter informações sobre nossos SDKs instalados atualmente inserindo o seguinte comando no Terminal sharpie xcode -sdks. Sua saída pode diferir dependendo de qual(is) versão(ões) do Xcode você instalou. O Objective Sharpie procura SDKs instalados em qualquer um Xcode*.app sob o /Applications diretório:

$ 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

Pelo exposto, podemos ver que temos o SDK instalado em nossa máquina e ele tem arm64 suporte à iphoneos9.1 arquitetura. Usaremos esse valor para todos os exemplos nesta seção. Com essas informações, estamos prontos para analisar os arquivos de cabeçalho de uma Objective-C biblioteca no projeto inicial ApiDefinition.cs e StructsAndEnums.cs para o projeto de vinculação.