Flutter 运行 - 无法构建 iOS 应用程序 - 命令 PhaseScriptExecution 失败,退出代码为非零
Posted
技术标签:
【中文标题】Flutter 运行 - 无法构建 iOS 应用程序 - 命令 PhaseScriptExecution 失败,退出代码为非零【英文标题】:Flutter run - Failed to build iOS app - Command PhaseScriptExecution failed with a nonzero exit code 【发布时间】:2020-10-10 09:19:48 【问题描述】:Here'sflutter run
的控制台输出的图像版本。
Here'sflutter doctor -v
的控制台输出的图像版本。
运行flutter run给了我:
'''正在下载ios工具... 7.8s 正在下载 ios-profile 工具... 5.5s 下载ios-release工具... 34.0s 在调试模式下在 iPhone SE(第 2 代)上启动 lib/main.dart...
警告:缺少构建名称 (CFBundleShortVersionString)。 警告:缺少内部版本号 (CFBundleVersion)。 所需操作:您必须在 pubspec.yaml 文件版本字段中设置构建名称和编号,然后才能提交到应用程序 店铺。 运行 pod install... 9.3s 正在运行 Xcode 构建...
Xcode 构建完成。 89.9s 无法构建 iOS 应用 Xcode 构建的错误输出: ↳ ** 构建失败 **
Xcode 的输出: ↳ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:88:26:错误:类型 未找到“DiagnosticableMixin”。 带有 DiagnosticableMixin 的类 PictureStream ^^^^^^^^^^^^^^^^^^^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:192:44:错误:类型 未找到“DiagnosticableMixin”。 带有 DiagnosticableMixin 的抽象类 PictureStreamCompleter ^^^^^^^^^^^^^^^^^^^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:88:7:错误:类型 'DiagnosticableMixin' 不能混入。 带有 DiagnosticableMixin 的类 PictureStream ^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:192:16:错误:类型 'DiagnosticableMixin' 不能混入。 带有 DiagnosticableMixin 的抽象类 PictureStreamCompleter ^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:167:11:错误:超类没有 名为“debugFillProperties”的方法。 super.debugFillProperties(属性); ^^^^^^^^^^^^^^^^^^^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:171:30:错误:方法 没有为“PictureStreamCompleter”类定义“toStringShort”。 - 'PictureStreamCompleter' 来自'package:flutter_svg/src/picture_stream.dart' ('../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart')。 尝试将名称更正为现有方法的名称,或定义名为“toStringShort”的方法。 ifPresent: _completer?.toStringShort(), ^^^^^^^^^^^^^ ../.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.17.4/lib/src/picture_stream.dart:266:11:错误:超类没有 名为“debugFillProperties”的方法。 super.debugFillProperties(描述); ^^^^^^^^^^^^^^^^^^^
Command PhaseScriptExecution failed with a nonzero exit code
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
无法为模拟器构建应用程序。 在 iPhone SE(第 2 代)上启动应用程序时出错。 '''
运行颤振医生 -v 给我:
''' 正在下载 android-arm-profile/darwin-x64 工具... 1.1s 正在下载 android-arm-release/darwin-x64 工具... 0.9s 正在下载 android-arm64-profile/darwin-x64 工具... 1.7s 正在下载 android-arm64-release/darwin-x64 工具... 1.0s 正在下载 android-x64-profile/darwin-x64 工具... 1.3s 正在下载 android-x64-release/darwin-x64 工具... 1.0s [✓] Flutter(Channel master,1.20.0-1.0.pre.132,Mac OS X 10.15.2 19C57,locale en-US) • Flutter 版本 1.20.0-1.0.pre.132,位于 /Users/lesleychang/flutter • 框架修订5995661777(6小时前),2020-06-19 16:15:58 -0700 • 引擎版本 676cd566f7 • Dart 版本 2.9.0(构建 2.9.0-17.0.dev 7e72c9ae7e)
[✗] Android 工具链 - 为 Android 设备开发 ✗ 无法定位 Android SDK。 从以下位置安装 Android Studio:https://developer.android.com/studio/index.html 首次启动时,它将帮助您安装 Android SDK 组件。 (或访问https://flutter.dev/docs/get-started/install/macos#android-setup 了解详细说明)。 如果 Android SDK 已安装到自定义位置,请将 ANDROID_SDK_ROOT 设置为该位置。 您可能还想将它添加到您的 PATH 环境变量中。
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 11.5) • Xcode 位于 /Applications/Xcode.app/Contents/Developer • Xcode 11.5,内部版本 11E608c • CocoaPods 1.9.3 版
[!] Android Studio(未安装) • 未找到Android Studio;从https://developer.android.com/studio/index.html下载 (或访问https://flutter.dev/docs/get-started/install/macos#android-setup了解详细说明)。
[✓] 已连接设备(1 个可用) • iPhone SE(第 2 代) • 7305F6FC-57BD-4A00-A55D-FC6741E759C4 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-5(模拟器)
!医生发现了 2 类问题。 '''
我根本无法在我的 iOS 模拟器上运行我的 Flutter 应用程序,而且我查看了类似的帖子也无济于事。关于做什么的任何指示?或者我可以尝试从其他任何社区获得帮助吗?谢谢!
【问题讨论】:
我遇到了同样的问题 【参考方案1】:由于https://github.com/flutter/flutter/pull/58635 的重大更改,您可以将flutter_svg 升级到0.18.0 或降级flutter。
【讨论】:
为我解决了【参考方案2】:将你的 flutter_svg 插件升级到
flutter_svg:^0.19.0
【讨论】:
【参考方案3】:尝试将频道切换到master来解决它。
Flutter channel master
然后删除旧模块并重新创建它
flutter create -t module my_flutter
下一个
pod install
最后运行命令flutter clean
和flutter run
错误消失了。
【讨论】:
以上是关于Flutter 运行 - 无法构建 iOS 应用程序 - 命令 PhaseScriptExecution 失败,退出代码为非零的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 无法在 VS Code 上构建示例 iOS 应用程序
当我运行 flutter run 时,Flutter iOS 构建失败
Flutter:由于集成了 Firebase 和 Admob,因此无法构建 iOS 应用程序