繁体   English   中英

Flutter_tts 不能在 iOS 上运行

[英]Flutter_tts doesn't run on iOS

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

=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    ld: warning: Could not find auto-linked library 'swiftDispatch'
    ld: warning: Could not find auto-linked library 'swiftCoreMedia'
    ld: warning: Could not find auto-linked library 'swiftAVFoundation'
    ld: warning: Could not find auto-linked library 'swiftFoundation'
    ld: warning: Could not find auto-linked library 'swiftsimd'
    ld: warning: Could not find auto-linked library 'swiftObjectiveC'
    ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
...
我之前将我的构建系统切换到旧版构建系统,并将我的“Swift 语言版本”指定为“Swift 4.2”

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

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

降级 Swift 版本也无济于事。

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

当我打开 Xcode 时,我也收到此警告

在创建没有 -i swift 标志的 flutter 项目时,这是一个已知问题。 我在这里概述了类似的问题

flutter create -i swift my_app

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

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

这是一个已知问题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 构建系统。
    1. 打开ios/Runner.xcworkspace
    2. 在项目导航器侧栏中选择Runner项目。
    3. 在主视图中,选择Runner目标,然后选择Build Phases选项卡。
    4. 展开Embed Frameworks阶段并从嵌入式框架列表中选择Flutter.framework
    5. 单击-从列表中删除Flutter.framework (确保保留App.framework )。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM