Xamarin 为 StripeTerminal 创建绑定项目

Xamarin Create Binding project for StripeTerminal

我正在尝试为 StripeTerminal CocoaPod (Stripe Terminal iOS) 创建绑定项目。我设置了 pod 文件。然后使用 Xamarin 文档,我安装了 Objective Sharpie,并使用了

sharpie pod bind

创建了两个文件。 StripeTerminal_ApiDefinitions.cs 和 StripeTerminal_StructsAndEnums.cs。这些文件看起来不错,并且具有我在使用 XCode 项目时所期望的方法。

然后我指出添加了对 StripeTerminal 框架文件的本机引用,但似乎没有创建 link 文件。 Xamarin 帮助文档提到 iOS Native Library 以 .a 结尾,而这个框架没有。我尝试将本机引用指向框架的文件夹、无扩展库,甚至将库项目重命名为 .a。每次我尝试构建它时都会给我一个 "No API definition file specified" 的错误。

您的 API 定义文件应该具有 ObjcBindingApiDefinition:

的构建操作
<ItemGroup>
    <ObjcBindingApiDefinition Include="ApiDefinition.cs" />
</ItemGroup>

并且您的 Enum|Structs 文件应该具有 ObjcBindingCoreSource:

的构建操作
<ItemGroup>
    <ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>