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

Xcode 10.3添加Swift-SMTP库后模拟器无法启动求助

针对SPM引入后模拟器无法启动+Scheme Executable为None的解决方案

我之前在使用Xcode 10+搭配Swift Package Manager的时候,也碰到过几乎一模一样的问题,给你几个经过验证的解决步骤,按顺序试试:

1. 优先修复Scheme的Executable配置

这是导致模拟器无法启动的核心原因——Xcode不知道要运行哪个目标了:

  • 点击Xcode顶部的Scheme下拉菜单,选择Edit Scheme...
  • 在弹出的配置窗口左侧选中Run选项卡,切换到顶部的Info标签页
  • 找到Executable下拉框,这里应该能看到你项目的主App目标(格式是你的App名称.app),直接选中它,然后点击Close保存配置
  • 完成后先尝试Product > Build,再点击运行按钮,看看模拟器能不能正常启动

2. 重置SPM依赖缓存与Derived Data

有时候SPM的缓存文件会导致项目配置混乱,试试彻底清理:

  • 先关闭Xcode,打开终端,导航到你的项目根目录
  • 执行命令删除SPM的本地缓存:rm -rf .build
  • 接着删除Xcode的Derived Data:可以通过Xcode的Preferences > Locations找到Derived Data的路径,手动删除对应项目的文件夹;或者直接用终端命令:rm -rf ~/Library/Developer/Xcode/DerivedData/你的项目名称-*
  • 重新打开Xcode,等待SPM重新拉取依赖并完成项目配置,之后再检查Scheme和模拟器状态

3. 检查主App Target的配置正确性

有时候SPM引入依赖时会意外修改Target的配置,确认以下几点:

  • 点击项目导航栏的项目根节点,选中你的主App Target
  • 切换到General标签页,确认Deployment Info里的iOS版本和你选择的模拟器版本兼容
  • 再切换到Build Phases标签页,检查Link Binary With Libraries列表里,是否包含你的主App需要的框架,以及Swift-SMTP库是否正确添加到这里

4. 彻底重新添加SPM依赖

如果上面的方法都无效,试试完全移除再重新引入:

  • 打开Xcode的File > Swift Packages > Remove Package Dependency,选中Swift-SMTP并移除
  • 重复步骤2的清理操作(删除.build和Derived Data)
  • 重新通过File > Swift Packages > Add Package Dependency引入Swift-SMTP,注意选择合适的版本分支,添加时确认只将库关联到你的主App Target,不要误选其他Target

另外提一句:模拟器显示两个相同设备(比如iPhone SE 12.0和12.4)是正常现象,因为你的Xcode同时安装了这两个版本的iOS SDK,只要Executable配置正确,选择任意一个都应该能正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:28:31