【问题标题】:Xamarin Create Binding project for StripeTerminalXamarin 为 StripeTerminal 创建绑定项目
【发布时间】:2019-05-26 20:59:25
【问题描述】:

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

sharpie pod bind

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

然后我指出添加了对 StripeTerminal 框架文件的本机引用,但似乎没有创建链接文件。 Xamarin 帮助文档提到 iOS 本机库以 .a 结尾,而此框架没有。我尝试将本机引用指向框架文件夹、无扩展库,甚至将库项目重命名为 .a。每次我尝试构建它时,都会出现“未指定 API 定义文件”的错误。

【问题讨论】:

  • 是的,两个文件都已添加,然后我添加了本机参考。下一次构建它给出了 No API definition file specified 错误。
  • 看起来他们现在正在编译。这两个 .cs 文件应该为它们的构建操作设置什么?

标签: xamarin xamarin.ios xamarin-binding


【解决方案1】:

您的 API 定义文件应具有ObjcBindingApiDefinition 的构建操作:

<ItemGroup>
    <ObjcBindingApiDefinition Include="ApiDefinition.cs" />
</ItemGroup>

并且您的 Enum|Structs 文件应该具有 ObjcBindingCoreSource 的构建操作:

<ItemGroup>
    <ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>

【讨论】:

  • @Josh NP,很高兴它有帮助 ?
猜你喜欢
  • 2013-08-07
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 2014-06-27
  • 2013-07-09
  • 1970-01-01
  • 2014-09-24
相关资源
最近更新 更多