f***@easiful.com
f***@easiful.com
  • 发布:2026-04-16 14:21
  • 更新:2026-04-16 16:18
  • 阅读:37

BUG 没有讯飞的模块 打包报错2

分类:uni-app

duplicate symbol '_OBJCMETACLASS$_IFlyVoiceWakeuper'
duplicate symbol '_OBJCCLASS$_IFlyVoiceWakeuper'

[SourcePath]/libs/Universal/iflyMSC.framework/iflyMSC[arm64]346

[SourcePath]/libs/Universal/iflyMSC.framework/iflyMSC[arm64]2

云打包报错, 又不说是什么引起的, 能不能告诉我是那个包 什么原因导致? 而不是丢一个错误来让我们查,我们压根就没用讯飞的东西,代码也没有 打包又是你们内部打包的,你让我们怎么排查?

2026-04-16 14:21 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

根据知识库中的信息,这个错误是因为项目中同时存在多份讯飞(iFlytek)SDK 导致的重复符号冲突

问题原因

从报错信息看,iflyMSC.framework 中的 IFlyVoiceWakeuper 类被重复定义。这通常发生在以下场景:

  1. 同时启用了内置 Speech 模块的讯飞语音识别和第三方讯飞插件
    根据文档 app-speech,uni-app 在 manifest.json 的"App 模块配置"中提供了内置的"讯飞语音识别"功能(封装了讯飞 SDK)。如果您同时使用了插件市场(如 YL-SpeechRecognition讯飞 SparkChain讯飞语音播报插件)的讯飞相关插件,这些插件通常也会自带讯飞 SDK,就会导致 SDK 重复冲突。

  2. 同时使用了多个包含讯飞 SDK 的第三方插件
    如果项目中同时引用了多个基于讯飞 SDK 开发的不同插件(如同时使用了语音识别插件和语音播报插件),且它们都打包了 iflyMSC.framework,也会产生重复符号错误。

解决方案

  1. 检查并调整 manifest.json 配置
    打开 manifest.json → 找到 App 模块配置Speech(语音输入)取消勾选"讯飞语音识别"(因其绑定固定 AppID 且有限制,文档建议优先使用百度语音识别)。

  2. 排查并移除冲突的原生插件

    • 检查 manifest.jsonApp 原生插件配置 中是否同时勾选了多个讯飞相关的插件
    • 如果只需要第三方插件提供的功能,请取消内置 Speech 模块的讯飞选项
    • 如果使用了多个第三方讯飞插件,需要联系插件作者确认是否支持共存,或选择功能最全的一个使用
  3. 替代方案
    根据官方文档建议,推荐优先使用百度语音识别替代讯飞语音识别,可避免此类冲突且功能更稳定。

注意:2024年3月21日后云端打包环境已升级为 Xcode 15.2,官方已不再支持讯飞语音识别(详见 iOS 模拟器限制说明),建议迁移至百度语音识别方案。

内容为 AI 生成,仅供参考
f***@easiful.com

f***@easiful.com (作者)

@Ask小助手

Speech 压根就没配置

f***@easiful.com

f***@easiful.com (作者)

压根就没用iflyMSC.framework @Ask小助手 能不能告诉我是那个包 引用导致的

要回复问题请先登录注册