Herramientas y comandos de Objective Sharpie

Información general sobre las herramientas incluidas con Objective Sharpie y los argumentos de la línea de comandos que se van a usar con ellas.

Una vez que Objective Sharpie esté instalado correctamente, abra un terminal y familiarícese con los comandos que Objective Sharpie tiene que ofrecer:

$ 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 proporciona las herramientas siguientes:

Herramienta Descripción
xcode Proporciona información sobre la instalación actual de Xcode y las versiones de los SDK de iOS y Mac que están disponibles. Esta información se usará más adelante cuando se generen los enlaces.
pod Busca, configura, instala (en un directorio local) y enlaza las bibliotecas de Objective-CCocoaPod disponibles en el repositorio Spec maestro. Esta herramienta evalúa la instancia de CocoaPod instalada a fin de deducir automáticamente la entrada correcta que se va a pasar a la herramienta bind siguiente. Novedades en la versión 3.0
bind Analiza los archivos de encabezado (*.h) de la biblioteca Objective-C en los archivos ApiDefinition.cs y StructsAndEnums.cs iniciales.
update Comprueba si hay versiones más recientes de Objective Sharpie y descarga e inicia el instalador si hay alguna disponible.
verify-docs Muestra información detallada sobre los atributos [Verify].
Documentación Navega a este documento en el explorador web predeterminado.

Para obtener ayuda sobre una herramienta de Objective Sharpie específica, escriba el nombre de la herramienta y la opción -help. En este ejemplo, sharpie xcode -help devuelve la salida siguiente:

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

Para poder iniciar el proceso de enlace, es necesario obtener información sobre los SDK instalados actuales; para ello, escriba el siguiente comando en terminal sharpie xcode -sdks. La salida puede diferir en función de las versiones de Xcode que haya instalado. Objective Sharpie busca los SDK instalados en Xcode*.app en el directorio /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

En el ejemplo anterior puede ver que el SDK iphoneos9.1 está instalado en la máquina y que tiene compatibilidad con la arquitectura arm64. Este valor se usará para todos los ejemplos de esta sección. Con esta información, ya puede analizar los archivos de encabezado de una biblioteca Objective-C en las instancias iniciales de ApiDefinition.cs y StructsAndEnums.cs para el proyecto de enlace.