Objective Sharpie 工具和命令

有关 Objective Sharpie 附带的工具以及要使用它们的命令行参数的概述。

成功安装 Objective Sharpie 后,打开终端并熟悉 Objective Sharpie 提供的命令

$ 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 提供以下工具:

工具 说明
xcode 提供有关当前 Xcode 安装和可用的 iOS 和 Mac SDK 版本的信息。 稍后在生成绑定时将使用这些信息。
pod 搜索、配置、安装(在本地目录中)并绑定主规范存储库中可用的 CocoaPodObjective-C 库。 此工具用于评估安装的 CocoaPod 以自动推断要传递到下面的 bind 工具的正确输入。 3.0 版中的新增功能!
bind 将 Objective-C 库中的头文件 (*.h) 分析为初始 ApiDefinition.cs 和 StructsAndEnums.cs 文件。
update 查找更新的 Objective Sharpie 版本,如果有,下载并启动相应安装程序。
verify-docs 显示有关 [Verify] 属性的详细信息。
docs 在默认 Web 浏览器中导航到此文档。

若要获取有关特定 Objective Sharpie 工具的帮助,输入该工具的名称及 -help 选项。 例如,sharpie xcode -help 返回以下输出:

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

在开始绑定之前,需要通过在终端 sharpie xcode -sdks 中输入以下命令来获取有关当前安装的 SDK 的信息。 获得的输出可能会不一样,具体取决于安装的 Xcode 版本。 Objective Sharpie 会查找安装在 /Applications 目录下的任何 Xcode*.app 中的 SDK:

$ 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

从上面可以看到,已在计算机上安装了 iphoneos9.1 SDK,并且它具有 arm64 体系结构支持。 我们将对本部分中的所有示例使用此值。 有了此信息,便可以将 Objective-C 库头文件解析为绑定项目的初始 ApiDefinition.csStructsAndEnums.cs