Flutter App Build 在 Xcode 中完成 iOS,但在运行时立即崩溃

问题描述 投票:0回答:1

我在 Flutterflow 中构建了一个应用程序,并将其导出到 Xcode,以构建用于商店上传的应用程序包。

我已经安装了所有应用程序依赖项、flutter、CocoaPods 和 iPhone 的 iOS 模拟器。

我已经使用我的苹果开发者帐户设置了签名帐户,在 Xcode 中设置了开发者团队,并注册了应用程序包标识符。

完成 Runner 中的所有设置后,我在 Xcode v15.0.1 中运行该应用程序,并将其设置为在 iOS 17.0 的 iPhone 15 模拟器中运行

构建过程完全完成,没有任何问题。

然后,当应用程序发送到 iPhone 模拟器运行时,它仅显示白屏,并且出现以下错误消息:

Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
[FATAL:flutter/display_list/skia/dl_sk_dispatcher.cc(277)] Check failed: false.

然后关闭应用程序启动,并使用 SIGABRT 显示线程。

第一条消息是关于核心电话服务的。

第二个似乎与 Flutter 的图形渲染库 Skia 有关,但没有说明原因。

有谁知道这可能是什么原因造成的,以及如何解决?

我尝试检查所有运行程序设置,并尝试直接从终端运行“flutter build ios”命令,这也不起作用,并表示要使用 Xcode 中的“Product/Run”。

我尝试清理构建文件夹并重建多次,没有任何更改。

该应用程序使用 Firebase,这是一个名为“ImageNotifcation”的分段运行器目标,用于通知。

我更改了构建阶段设置以解决以前的问题,它们按以下顺序排列:

  1. 目标依赖项
  2. 运行构建工具插件
  3. 检查 Pods Manifest.lock
  4. 嵌入框架
  5. 嵌入应用程序扩展
  6. 嵌入 Pod 框架
  7. 运行脚本
  8. 编译源代码
  9. 将二进制文件与库链接
  10. 复制捆绑资源
  11. 精简二进制
  12. 复制 Pod 资源
ios flutter xcode dart cocoapods
1个回答
0
投票

您遇到的错误消息,“与名为 com.apple.commcenter.coretelephony.xpc 的服务的连接已失效”,表示您的 Flutter 应用程序无法与 iOS 设备上的 Core Telephony 服务进行通信。该服务负责提供有关蜂窝网络、信号强度和其他电话相关数据的信息。

以下是此错误的一些潜在原因和解决方案:

潜在原因:

  1. 模拟器问题:有报告称此错误专门发生在 Xcode 15 模拟器和 iOS 17 上。这可能是模拟器环境本身的错误。
  2. Pod 安装问题: 一些用户报告 CocoaPods 安装问题可能会导致此错误。
  3. 权限问题:您的应用程序可能没有访问核心电话服务所需的权限。
  4. Firebase 集成问题: 如果您使用 Firebase,Firebase SDK 和 Core Telephony 服务之间可能会存在冲突。

可能的解决方案:

  1. 更新 Xcode 和 iOS 模拟器: 确保您使用的是最新版本的 Xcode 和 iOS 模拟器。检查更新并安装它们(如果有)。
  2. 重新安装 CocoaPods: 尝试重新安装 CocoaPods 并重建您的应用程序。您可以使用以下命令重新安装CocoaPods:
pod repo update
pod install
  1. 检查应用程序权限:确保您的应用程序具有访问核心电话服务所需的权限。您可以通过检查应用程序的“Info.plist”文件并添加以下键值对来完成此操作:
<key>NSAppleTelephonyUsageDescription</key>
<string>Your app needs access to the Core Telephony service to perform its tasks.</string>
  1. 调查 Firebase 集成:如果您使用 Firebase,请检查文档是否与 Core Telephony 服务存在潜在冲突,并遵循任何推荐的解决方案。暂时禁用 Firebase 功能来隔离问题可能会有所帮助。

其他提示:

  • 清理构建和重建:尝试清理构建文件夹并重建应用程序。这有时可以解决过时的构建工件的问题。
  • 查看构建阶段:在 Xcode 中仔细检查构建阶段,以确保它们的顺序正确。您提到的顺序似乎是正确的,但确认一下总是好的。
  • 重新启动模拟器:在运行应用程序之前尝试重新启动iOS模拟器。这有时可以解决临时问题。
  • 向 Flutter 和 Apple 报告问题:如果您无法找到解决方案,请考虑向 Flutter 团队和 Apple 报告问题。这将帮助他们确定问题的根本原因并在未来的更新中提供修复。

资源:

© www.soinside.com 2019 - 2024. All rights reserved.