You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在Xcode中运行SPM创建的命令行工具,求解决方法

如何在Xcode中运行SPM创建的命令行工具?

我用Swift Package Manager(SPM)创建了一个命令行工具,引入了swift-argument-parser库。通过打开Package.swift文件,Xcode可以加载项目并进行查看、编辑与构建操作。我能通过命令行执行swift run <packagename>运行该工具,但在Xcode中尝试运行时,却报错“无法在设备上安装应用”。

我之前成功在Xcode中运行调试过这类工具(支持源码级调试,很实用),但现在忘了操作步骤,无法再次成功运行。请问需要进行哪些操作才能在Xcode中构建并运行该工具?

当前项目是基础框架,可作为最小复现示例。

错误详情

点击错误弹窗的“查看详情”后,显示内容如下:

无法在设备上安装应用。
Domain: com.apple.dt.CoreDeviceError
Code: 3002
用户信息: {
    DVTErrorCreationDateKey = "2024-01-17 20:32:33 +0000";
    IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
    NSURL = "file:///Users/duncan/Library/Developer/Xcode/DerivedData/AsyncTest-ckvucgfbzimivdchumrrsvcsgaqj/Build/Products/Debug-iphoneos/AsyncTest";
}
--
AsyncTest对应的文件不是有效的bundle。
Domain: com.apple.dt.CoreDeviceError
Code: 3000
失败原因: 无法读取该bundle。
用户信息: {
    NSURL = "file:///Users/duncan/Library/Developer/Xcode/DerivedData/AsyncTest-ckvucgfbzimivdchumrrsvcsgaqj/Build/Products/Debug-iphoneos/AsyncTest";
}

解决步骤

  • 打开项目后,在Xcode顶部的运行目标选择器中,不要选择iOS设备(真机或模拟器),切换为My Mac(或对应架构的Mac选项,比如My Mac (Rosetta))
  • 如果找不到My Mac选项,点击目标选择器最右侧的箭头>,进入设备管理界面,确保勾选Mac相关设备
  • 确认运行目标为My Mac后,点击运行按钮即可启动命令行工具,Xcode会自动打开控制台窗口显示输出,同时支持源码断点调试

额外检查:确保Package.swift中产品类型配置为.executable,示例如下:

products: [
    .executable(name: "AsyncTest", targets: ["AsyncTest"]),
],

内容的提问来源于stack exchange,提问作者Duncan C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:03:31