XCode 14.3 未列出 16.4 的 iOS 设备

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

我即将升级到 Xcode 14.3,并除了版本 14.2 之外还安装了该版本,我使用以下命令在这两个版本之间切换

sudo xcode-select -switch /Applications/Xcode_14.X.app

当版本 14.2 处于活动状态时,我可以看到已连接的 iOS 设备(iOS 版本 16.4.1)

flutter devices
xcrun xcdevice list

一旦我切换到版本 14.3,该设备就不再列出,因此我也无法将其定位到我的 IDE IntelliJ 中进行部署(因为有一个类似的命令用于填充设备选择器框)。 有趣的是,我在打开 Xcode 14.3 时看到了 iOS 设备,甚至可以在 Xcode 中将我的 Flutter 应用程序部署到该设备。 我使用最新的稳定 Flutter 版本(3.7.11 和 3.7.12)进行了测试,其中包含使用 Xcode 14.3 的修复。

使用 Xcode 14.3 时,在命令行上列出具有旧 iOS 版本(即 15.7.x)的设备没有任何问题。

有人可以告诉我如何列出该设备并将其用作部署目标吗?

更新3:调用

xcrun xctrace list devices
时,正确列出了iOS 16.4.1的iPhone,因此xcdevice可能存在问题。 我还在苹果开发者论坛上创建了票证,对我来说,这就是无能的证据,三周多后,似乎没有人关心或至少回应这个问题,我绝对不是唯一遇到这个问题的人这个问题。

更新 2:由于 Xcode 14.3 中一切正常,我倾向于说问题出现在命令行工具和 iOS 16.4.x(也许还有 MacOS Ventura)之间。

更新:经过进一步的测试,我可以说这个问题不涉及 Flutter。在启用 XCode 14.3 的情况下调用

/usr/bin/arch -arm64e xcrun xcdevice list --timeout 2
时,我收到以下(很常见)错误:

xcdevice[1473:15359] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)

使用 Xcode 14.2,不会显示此错误,并且会列出 iOS 版本 16.4.1 的 iOS 设备。 我使用的是 MacOS Ventura 13.3.1。

在我看来,MacOS 版本、Xcode 14.3 和 iOS 版本 16.4.x 的设备之间存在一些不当行为。

ios flutter macos-ventura xcode-command-line-tools xcode14.3
1个回答
0
投票

请重新检查 Xcode 命令行工具是否与您当前的 Xcode 版本匹配。如果移动设备在 Xcode 中可见并且

xcrun xctrace
返回已连接设备的空列表 - 问题出在命令行工具中。重新安装适合您的 Xcode 版本的命令行工具。

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