Flutter_tts 无法在 iOS 上运行

Posted

技术标签:

【中文标题】Flutter_tts 无法在 iOS 上运行【英文标题】:Flutter_tts doesn't run on iOS 【发布时间】:2019-02-28 19:06:34 【问题描述】:

我正在尝试使用 Flutter_tts 库编写一个在颤振上朗读文本的应用程序,它适用于 android,但是当我尝试在 ios 设备上运行它时出现错误:

 === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    ld:警告:找不到自动链接库“swiftDispatch”
    ld:警告:找不到自动链接库“swiftCoreMedia”
    ld:警告:找不到自动链接库“swiftAVFoundation”
    ld:警告:找不到自动链接库“swiftFoundation”
    ld:警告:找不到自动链接库“swiftsimd”
    ld:警告:找不到自动链接库“swiftObjectiveC”
    ld:警告:找不到自动链接库“swiftCoreFoundation”
...
我之前将我的构建系统切换到旧版构建系统并将我的“Swift 语言版本”指定为“Swift 4.2”

当我将构建系统切换到“新构建系统”时,它给了我

Xcode 的输出:
↳
    错误:多个命令产生'/Users/dimazhylko/FlutterProjects/flutter_tts_plugin_test/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework':
    1) 目标 'Runner' 具有从 '/Users/dimazhylko/FlutterProjects/flutter_tts_plugin_test/ios/Flutter/Flutter.framework' 到 '/Users/dimazhylko/FlutterProjects/flutter_tts_plugin_test/build/ios/Debug-iphonesimulator/Runner.app 的复制命令/Frameworks/Flutter.framework'
    2) 该命令取决于 Target 'Runner' 中的命令:脚本阶段“[CP] Embed Pods Frameworks”
    警告:未运行 swift-stdlib-tool:ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 已启用,但产品类型“com.apple.product-type.library.static”不是包装器类型。 (在目标“Pods-Runner”中)
    警告:忽略重复的输出文件:'/Users/dimazhylko/FlutterProjects/flutter_tts_plugin_test/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'(在目标'Runner'中)
    注:使用新的构建系统注:规划构建注:构建构建描述

降级 Swift 版本也无济于事。

我还能尝试什么来解决这个问题? 或者你可以推荐另一个库?(我已经尝试过Tts,它看起来不是一个好的选择,因为它只适用于flutter v“0.5.0”(Dart 版本2.0.0

I also get this warning when I open Xcode

【问题讨论】:

github.com/flutter/flutter/issues/20685 【参考方案1】:

在创建没有 -i swift 标志的颤振项目时,这是一个已知问题。我在这里概述了它similar issue

flutter create -i swift my_app

作为一种可怕的解决方法,您可以使用 -i swift 标志创建一个新的 Flutter 项目,然后从当前项目中复制您的文件。

【讨论】:

结合这两个建议,我构建了它,但现在我有“等待应用程序启动超时”【参考方案2】:

右击Runner,添加一个新的Swift文件。 XCode 会询问您是否要添加桥接头。接受并重新编译。

【讨论】:

【参考方案3】:

这是一个已知问题https://github.com/flutter/flutter/issues/20685

https://github.com/flutter/flutter/issues/20685#issuecomment-421511890

有两种解决方法:

选项 1:使用旧版构建系统。 如 @gi097 所述,打开 ios/Runner.xcworkspace,并将构建系统更改为 Legacy Build System选项 2:使用新的 Xcode 10 构建系统。
    打开ios/Runner.xcworkspace 在项目导航器侧边栏中选择Runner 项目。 在主视图中,选择Runner 目标,然后选择Build Phases 选项卡。 展开Embed Frameworks 阶段并从嵌入式框架列表中选择Flutter.framework。 单击-Flutter.framework 从列表中删除(请务必保留 App.framework)。

并且应该已经在dev 和/或master 频道中修复。

【讨论】:

我都试过了,但没有帮助。在最后一次尝试中,我得到:“clang: error: linker command failed with exit code 1 (use -v to see invocation) note: Using new build systemnote: Planning buildnote: Constructing build description” 抱歉,没有其他想法。

以上是关于Flutter_tts 无法在 iOS 上运行的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Google Colab 上安装 Pytorch Lightning Flash

有没有办法将flutter_tts文件保存到firebase存储?

Flutter 运行 - 无法构建 iOS 应用程序 - 命令 PhaseScriptExecution 失败,退出代码为非零

FLTK - Mac iOS 图像未显示

华硕FL5900U,更换win7系统后触控板无法使用,百度上的方式已全部尝试,无法解决,求高手指教。。。

无法在电子应用程序中显示 Flash 内容