- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有适用于具有 .a 、 .h 和数据库文件的 IOS 的 NeoSpeech 库(文本到语音)。该库在 ios 中运行良好。现在我必须在 Xamarin 项目中使用这个库。我正在尝试使用静态库进行消费,但无法在其他库中调用库,因此我无法在静态库中使用 neospeech 库。 xamarin 中还有另一个选项,即与 xamarin 链接的 native C,但没有适当的文档。在我的 scanrio 中使用链接 native 库也很好。请帮助我。
谢谢
最佳答案
尝试使用Objective Sharpie它需要头文件(不是 .a 文件)并生成 C# api 定义文件:ApiDefinition.cs 和 StructAndEnums.cs。有时取决于你的 h 文件,它只生成 StructAndEnums。可能没问题,但如果不是 sharpie 应该报告一些错误,您可以通过 SO 搜索这些错误。
然后您可以创建 Binding 项目并在其中引用 .a 文件并生成 ApiDefinitions。如果您有针对不同处理器架构的单独 .a,您可以使用 lipo
在 Mac OS bash 中制作 FAT 库,并且仅引用 fat lib。对于你的库,它将是:
lipo -create libvt_eng_james_univ.a, libvt_eng_james_armv77s64.a libvt_eng_beth_simulation.a -output lib_eng_james_fat.a
可能是libvt_eng_james_univ.a已经胖了,可以通过
lipo -info libvt_eng_james_univ.a
它将向您展示 fat lib 中的所有架构:模拟器 armv7 为 i386 x86_64,设备为 armv7s arm64。
之后,只需将 Xamarin 主项目中的这个绑定(bind)项目称为简单库项目即可。然后您可以像使用其他库一样使用所有类。
关于xamarin - 如何在 Xamarin 中调用 IOS 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39192592/
我是一名优秀的程序员,十分优秀!