Swift 并发工具不工作

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

我正在尝试使用 Swift Concurrency Instruments 来调试我们的应用 Swift Concurrency 的项目。 但 Swift Concurrency Instruments 似乎不适用于我们的项目。

Task {
  print("async call")
  await someAsyncFunction()
}

在上面的代码中,我可以通过使用 stdout/stderr 面板来检查

print
是否运行良好,但我无法检查 Task 是否也运行良好,因为 Swift Tasks 面板上没有记录。

但我可以检查 Swift Concurrency Instruments 在小型简单示例项目上运行良好。

我们的项目已经维护了很长时间了,所以我想知道是否有任何设置能够启用Swift Concurrency Instruments。

swift instruments swift-concurrency
1个回答
0
投票

一些想法:

  1. 它可能因设备而异(例如,iOS 14 模拟器不支持并发检测,但 iOS 16.x 支持)。因此请确认正在分析的设备上的操作系统版本。

  2. 你在使用Cocoapods吗?您是否会覆盖“排除的架构”?我发现这搞砸了 Swift 并发检测。您在模拟器和物理设备上都遇到这个问题吗?

  3. 如果这不是问题,请复制您的项目,撕掉所有内容 代码/框架,并将其缩减为相当于“小 简单的示例项目”并看看它是否有效。这将确认 无论是代码相关还是项目相关。继续走下去, 使您的精简项目越来越像示例 项目。我知道这不是答案,但这是我的 SOP 找出此类问题的罪魁祸首。

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