[英]How to set kate voice for ios en-GB. in flutter - flutter_tts pub
[英]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<)
在创建没有 -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 构建系统。
- 打开
ios/Runner.xcworkspace
- 在项目导航器侧栏中选择
Runner
项目。- 在主视图中,选择
Runner
目标,然后选择Build Phases
选项卡。- 展开
Embed Frameworks
阶段并从嵌入式框架列表中选择Flutter.framework
。- 单击
-
从列表中删除Flutter.framework
(确保保留App.framework
)。
并且应该已经在dev
和/或master
频道中修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.