CodenameOne "Undefined symbols" 添加本机库时出错

CodenameOne "Undefined symbols" error when adding native library

我正在尝试将 Honeywell Captuvo iOS 库作为本地库添加到我的 CodenameOne 项目中。我已经完成了 "Generate Native Access" 过程并将 .a 库放在 native/ios 目录中。但是,当我发送要构建的应用程序时,它会返回错误:

架构 arm64 的未定义符号:

"_OBJC_CLASS_$_EAAccessoryManager",引用自: libCaptuvoSDK.a(CaptuvoReal.o)

中的 objc-class-ref

非常感谢

重新阅读错误消息,我似乎错过了一个关键细节。您需要将 ExternalAccessory.framework 添加到您的项目中。为此,您需要定义构建提示:ios.add_libs=ExternalAccessory.framework

原回答如下:

.a 库的名称是否以小写单词 lib 开头并且实际上是否以 .a 结尾。如果不确定,请确保重命名它以使其遵守这些限制。

假设两者都可以,您将需要验证库在这种情况下是否确实具有所需的架构 arm64。

这在这个问题中有解释:How to check if a static library is built for 64-bit?

我会使用第二个建议:file libFileName.a

它应该在支持的架构列表中包括 arm64。