Flutter Run 不起作用,在 iPhone 上启动应用程序时出错

Sou*_*Raj 7 flutter flutter-test

我最近更新了flutter版本。在那之后,flutter run 在 iPhone 上不起作用。我正在使用安卓工作室。android studio 上的运行按钮也不适用于 iPhone,但模拟器工作正常。

我收到以下错误。我已将跑步者模式设置为发布。仍然没有运气。

“在 Raj iPhone 上启动应用程序时出错。”

在此处输入图片说明

颤振版本。

Flutter (Channel master, 1.24.0-8.0.pre.374, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-GB)

我没有收到任何其他错误。所以我运行 flutter run -verbose 我得到以下信息

#0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3) #1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:618:7) #2 FlutterCommand.verifyThenRunCommand (package: flutter_tools/src/runner/flutter_command.dart:1119:12) #3 FlutterCommand.run。(包:flutter_tools/src/runner/flutter_command.dart:974:27)#4 AppContext.run。(package:flutter_tools/src/base/context.dart:150:19) #5 AppContext.run (package:flutter_tools/src/base/context.dart:149:12) #6 CommandRunner.runCommand (package:args/command_runner) .dart:197:13) #7 FlutterCommandRunner.runCommand。(包:flutter_tools/src/runner/flutter_command_runner.dart:264:9)#8 AppContext.run。(package:flutter_tools/src/base/context.dart:150:19) #9 AppContext.run (package:flutter_tools/src/base/context.dart:149: 12) #10 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:220:5) #11 运行.. (package:flutter_tools/runner.dart:63:9) #12 运行。(package:flutter_tools/runner.dart:61:12) #13 AppContext.run。(package:flutter_tools/src/base/context.dart:150:19) #14 AppContext.run (package:flutter_tools/src/base/context.dart:149:12) #15 runInContext (package:flutter_tools/src/context_runner) .dart:70:10) #16 main (package:flutter_tools/executable.dart:90:3)

        [ +113 ms] (lldb) process detach [ +254 ms] ensureAnalyticsSent: 255ms [   +1 ms] Running shutdown hooks [       
Run Code Online (Sandbox Code Playgroud)

] 关闭挂钩优先级 4 [ +52 毫秒] 关闭挂钩完成 [
] 退出,代码为 1

我已经完成flutter clean并再次检查。还是一样的问题。

谢谢

dav*_*lin 5

在 中flutter/packages/flutter_tools/lib/src/ios/devices.dart,找到以下代码块:

_logger.printTrace('Application launched on the device. Waiting for observatory port.');
Uri localUri;
try {
  localUri = await observatoryDiscovery.uri.timeout(const Duration(seconds: 30));
} on TimeoutException {
  await observatoryDiscovery.cancel();
}
Run Code Online (Sandbox Code Playgroud)

将超时增加到更大的数字,例如,60 秒为我修复了它:

localUri = await observatoryDiscovery.uri.timeout(const Duration(seconds: 60));
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另外,删除缓存的二进制文件以强制重新生成快照:

rm /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.stamp /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.snapshot
Run Code Online (Sandbox Code Playgroud)

参考: