【问题标题】:Flutter Run not working, Error launching application on iPhoneFlutter Run 不工作,在 iPhone 上启动应用程序时出错
【发布时间】:2021-03-13 07:38:48
【问题描述】:

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

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

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

Flutter 版本。

Flutter(频道主控,1.24.0-8.0.pre.374,Mac OS X 10.15.7 19H2 darwin-x64,语言环境 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。 (包: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。 (包: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运行。 (包:flutter_tools/runner.dart:61:12) #13 应用上下文运行。 (包:flutter_tools/src/base/context.dart:150:19) #14 AppContext.run (package:flutter_tools/src/base/context.dart:149:12) #15 runInContext(包:flutter_tools/src/context_runner.dart:70:10) #16 主要(包:flutter_tools/executable.dart:90:3)

        [ +113 ms] (lldb) process detach [ +254 ms] ensureAnalyticsSent: 255ms [   +1 ms] Running shutdown hooks [       

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

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

谢谢

【问题讨论】:

  • 你有没有通过xcode打开项目并注册你的iphone?尝试至少一次直接从 xcode 编译到 iphone。
  • 直到我升级颤振。它工作正常。我的 iphone id 已添加到开发人员资料中。这不是我第一次运行这个项目。我为此工作了一个月。升级后它停止工作
  • 现在,我尝试从 xcode 工作区运行。它运行良好。唯一的问题是在设备上运行颤振失败:(

标签: flutter flutter-test


【解决方案1】:

在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();
}

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

localUri = await observatoryDiscovery.uri.timeout(const Duration(seconds: 60));

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

rm /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.stamp /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.snapshot

参考资料:

【讨论】:

  • 除此之外,您还需要强制重新生成 flutter_tools 的快照,否则您对 dart 代码所做的更改将不会应用。为此,您可以运行rm /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.stamp /{$PATH_TO_FLUTTER_DIRECTORY}/bin/cache/flutter_tools.snapshot。来源:github.com/flutter/flutter/tree/master/packages/…
  • 感谢@brianbhsu - 我在答案中添加了您的有用评论。
猜你喜欢
  • 2021-08-02
  • 2020-12-06
  • 2021-01-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
相关资源
最近更新 更多