使用 CocoaPods 的实际示例

重要

sharpie pod 现已弃用。 有关详细信息,请参阅此 GitHub 问题

在版本 3.0 中,Objective Sharpie 支持绑定 CocoaPod,甚至包括一个命令 (sharpie pod),该命令使 CocoaPod 的下载、配置和生成变得非常简单。 在使用此功能之前,你应该大致熟悉 CocoaPod

为 CocoaPod 创建绑定

sharpie pod 命令有一个全局选项和两个子命令:

$ sharpie pod -help
usage: sharpie pod [OPTIONS] COMMAND [COMMAND_OPTIONS]

Pod Options:
  -d, -dir DIR     Use DIR as the CocoaPods binding directory,
                   defaulting to the current directory

Available Commands:
  init         Initialize a new Xamarin C# CocoaPods binding project
  bind         Bind an existing Xamarin C# CocoaPods project

init 子命令还有一些有用的帮助:

$ sharpie pod init -help
usage: sharpie pod init [INIT_OPTIONS] TARGET_SDK POD_SPEC_NAMES

Init Options:
  -f, -force       Initialize a new Podfile and run actions against
                   it even if one already exists

可以向 init 提供多个 CocoaPod 名称和子规范名称。

$ sharpie pod init ios AFNetworking
** Setting up CocoaPods master repo ...
   (this may take a while the first time)
** Searching for requested CocoaPods ...
** Working directory:
**   - Writing Podfile ...
**   - Installing CocoaPods ...
**     (running `pod install --no-integrate --no-repo-update`)
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.0)
Generating Pods project
Sending stats
** 🍻 Success! You can now use other `sharpie podn`  commands.

一旦 CocoaPod 设置好,你就可以创建绑定:

$ sharpie pod bind

这会生成 CocoaPod Xcode 项目,然后由 Objective Sharpie 评估和分析。 将生成大量控制台输出,但最终应该会生成绑定定义:

(... lots of build output ...)

Parsing 19 header files...

Binding...
  [write] ApiDefinitions.cs
  [write] StructsAndEnums.cs

Done.

后续步骤

生成 ApiDefinitions.cs 和 StructsAndEnums.cs 文件后,请查看以下文档来生成要在应用中使用的程序集: