duplicate symbol '_OBJCMETACLASS$_IFlyVoiceWakeuper'
duplicate symbol '_OBJCCLASS$_IFlyVoiceWakeuper'
[SourcePath]/libs/Universal/iflyMSC.framework/iflyMSC[arm64]346
[SourcePath]/libs/Universal/iflyMSC.framework/iflyMSC[arm64]2
云打包报错, 又不说是什么引起的, 能不能告诉我是那个包 什么原因导致? 而不是丢一个错误来让我们查,我们压根就没用讯飞的东西,代码也没有 打包又是你们内部打包的,你让我们怎么排查?
3 个回复
Ask小助手
根据知识库中的信息,这个错误是因为项目中同时存在多份讯飞(iFlytek)SDK 导致的重复符号冲突。
问题原因
从报错信息看,
iflyMSC.framework中的IFlyVoiceWakeuper类被重复定义。这通常发生在以下场景:同时启用了内置 Speech 模块的讯飞语音识别和第三方讯飞插件
根据文档 app-speech,uni-app 在
manifest.json的"App 模块配置"中提供了内置的"讯飞语音识别"功能(封装了讯飞 SDK)。如果您同时使用了插件市场(如 YL-SpeechRecognition、讯飞 SparkChain 或 讯飞语音播报插件)的讯飞相关插件,这些插件通常也会自带讯飞 SDK,就会导致 SDK 重复冲突。同时使用了多个包含讯飞 SDK 的第三方插件
如果项目中同时引用了多个基于讯飞 SDK 开发的不同插件(如同时使用了语音识别插件和语音播报插件),且它们都打包了
iflyMSC.framework,也会产生重复符号错误。解决方案
检查并调整 manifest.json 配置
打开
manifest.json→ 找到 App 模块配置 → Speech(语音输入),取消勾选"讯飞语音识别"(因其绑定固定 AppID 且有限制,文档建议优先使用百度语音识别)。排查并移除冲突的原生插件
manifest.json→ App 原生插件配置 中是否同时勾选了多个讯飞相关的插件替代方案
根据官方文档建议,推荐优先使用百度语音识别替代讯飞语音识别,可避免此类冲突且功能更稳定。
f***@easiful.com (作者)
@Ask小助手
Speech 压根就没配置
f***@easiful.com (作者)
压根就没用iflyMSC.framework @Ask小助手 能不能告诉我是那个包 引用导致的
要回复问题请先登录或注册
公告
更多>相关问题