XCode 7 / Cordova 插件 / 链接问题:_utf8_nextCharSafeBody 未定义符号

Posted

技术标签:

【中文标题】XCode 7 / Cordova 插件 / 链接问题:_utf8_nextCharSafeBody 未定义符号【英文标题】:XCode 7 / Cordova plugin / Link issue: _utf8_nextCharSafeBody undefined symbol 【发布时间】:2016-08-22 02:54:37 【问题描述】:

我正在调整一个(显然已经过时的)Cordova 插件,以便在我的应用程序中使用(如果您感兴趣的话,可以使用 PhoneRTC)。

作为一个核心的 Linux/CLI 人,我已经在 XCode 上苦苦挣扎了一天,并且通过大量的 Google 和一些盲目的猜测,我设法消除了大部分已弃用的代码。但是,现在我在链接阶段遇到了最后一个错误:

“架构 arm64 的未定义符号:“_utf8_nextCharSafeBody”,引用自:[snip]”

插件的原始安装说明提到将二进制文件链接到库 libicucore.dylib,但这似乎已在最新的 XCode 中删除(有可用的 .tbh 扩展名的同名引用,但这些对那个对话框——尽管我可以选择它们,但无论如何)。

更多谷歌搜索提供了链接各种 *.frameworks 的建议,但无济于事 - 错误仍然存​​在。

有谁知道我需要链接到什么才能使此功能可用?或者如果它被永久删除,我也想知道,尽管这将涉及重建二进制文件,这不是我所期待的......

或者,如果您不知道,是否有办法以某种方式通过 Apple 的库进行 grep 以查看应该定义丢失符号的库?

(不用说,如果我能做到这一点,它将从原始回购中分叉并捐赠回社区:))

【问题讨论】:

【参考方案1】:

所以,我不确定什么我到底做了什么改变,但突然间我可以将 libicucore.tbh 添加为链接库。我可能更改了构建目标或其他东西,但无论如何链接错误消失了(由 XCode 的签名错误替换,但我可以解决)。

【讨论】:

以上是关于XCode 7 / Cordova 插件 / 链接问题:_utf8_nextCharSafeBody 未定义符号的主要内容,如果未能解决你的问题,请参考以下文章

Cordova - XCode10编译热更新插件错误解决方法!

ShareKit 插件不工作 - Cordova 1.9 & ShareKit 2.0 & ShareKit js 插件 & Xcode 4.4

带有 xcode 5.1 的 cordova 3.4 不会使用最新的文件传输插件构建

如何让 Cordova 通过插件自动嵌入自定义 iOS 框架?

ionic cordova build ios 使用 xcode swift 3 框架安装自定义插件失败

iOS8 Xcode 6 Cordova 状态栏未正确隐藏