Xcode:无方案

106
我最近在Xcode中打开的项目出现了"无方案(No Scheme)"的错误: enter image description here 当我尝试管理方案(Manage Schemes)时,我无法自动创建方案(Autocreate Schemes Now)(可能是另一个帖子,但可能与此有关),而且没有列出任何方案: enter image description here 当我尝试添加方案时,会出现对话框显示"目标为空(Target None)"。 enter image description here 发生了什么问题,我该如何修复我的Xcode项目呢?

尝试重新启动您的电脑...或者 Xcode,或者两者都试一下。 - Samkit Jain
2
没有,两个都没用。 - Snowcrash
我升级了我的Mac,结果得到了一个新版本的Xcode。 - Snowcrash
这对我有用。 - Sam
20个回答

339

关闭 Xcode 并从 <projectname>.xcodeproj/xcuserdata/ 中删除文件夹 <username>.xcuserdatad。然后重新启动 Xcode,方案应该会重新出现。

编辑: 您可能需要从 .xcodeproj 文件和 .xcworkspace 文件中删除。


我已经删除了xcuserdata下的所有三个文件夹,这对我有用,谢谢。 - Yunus Nedim Mehel
13
即使是基于 CocoaPods 的项目,也可以使用此方法——只需打开 .xcworkspace 文件而不是 .xcodeproj 文件即可。删除 xcuserdatad 文件夹也可以让 .xcworkspace 文件正常工作。 - ilmgb
操作失误,我不小心删除了 .xcodeproj 文件,请从 .xcodeproj 中删除 xcuserdata,右键单击 .xcodeproj 并打开“显示包内容”。 - Naveed Ahmad
它在我的Xcode 11.4和Cocoapods版本1.9.1中运行良好。但在运行“pod install”命令之前,我必须删除.xcuserdatad文件。 - samin.yasar
Xcode 12.5。删除文件<username>.xcuserdatad解决了我的问题。谢谢!当我将git提交切换到旧的提交时,我遇到了这个问题。 - Zhou Haibo
显示剩余6条评论

91

这对我很有效

  1. 点击 "无方案"
  2. 点击 "管理方案"
  3. 点击 "自动创建方案"

4
这应该是这个帖子中正确的答案,因为它不是一个黑客技巧,而且实际上百分之百有效。 - Ed.
4
不起作用。看起来是一个有效的答案,但不是100%。 - Don McCurdy
8
除了偶尔会出现不成功的情况,它的工作率达到100%。比如说,它对我来说就不起作用。 - Jim
我现在无法自动创建方案(可能与另一个帖子有关),也没有列出任何方案: - metamonkey
这对我有用,但它并不明显。我不得不关闭XCode,然后重新打开。 - kojow7

27

我认为这种情况发生在您打开 app.xcworkspace 而不是 app.xcodeproj 时。

解决方案: 安装 pod 并再次打开 app.xcworkspace。


1
这个完成了。 - Julian B.

13
  1. 关闭Xcode ["强制退出应用程序" (cmd+option+escape)以确保]
  2. 删除应用程序的派生数据 (Xcode 9.4: Users/[用户名]/Library/Developer/Xcode/DerivedData/[要删除的应用程序目录])
  3. 从项目目录中删除 .xcworkspace
  4. 同样在项目目录中:.xcodeproj -> 右键单击 -> 显示包内容 -> 如果存在,删除 .xcworkspace -> xcuserdata -> 删除 [用户名].xcuserdatad

这应该可以解决问题。如果需要,请安装pod并打开项目。目标应该再次可用。


如果.xcworkspace完全损坏,仍然是Xcode 12.4的最佳解决方案。我建议在执行pod initpod install之前执行pod deintegrate - Eric Aya

8

Use shortcut ctrl+cmd+[ or restart.


1
更好的解决方案。谢谢。 - Ankit Sachan

7
对我而言,以下方法有效:
进入您的项目目录,右键单击 .xcodeproj.xcworkspace 文件并选择 Show Package Content,然后删除 xcuserdata
不要忘记重新启动 Xcode。
如果仍然无法解决问题,并且您的项目中有 CocoPod,请运行以下命令:

Pod install


当删除xcuserdata无效时,pod install命令完成了工作。 - idrougge

6

当我运行Xcode 8 beta版本时,最高票答案无法解决我的问题。但是,让我问题得到解决的方法是先拔下连接的设备(iPhone、iPad等),然后重新插入。这样一来,方案就会重新出现。


5
如果您正在使用pods,并且使用了正确的工作区,我发现最好的方法是打开终端运行pod update,然后重新启动Xcode,这样每次都可以解决问题。

5
首先,在使用Cocoapods开发iOS项目时,您需要使用.xcodeworkspace文件而不是.xcodeproj文件来打开项目。

enter image description here

其次,您可以使用 .xcworkspace 文件的 Show Package Contents 选项,找到 contents.xcworkspacedata 文件。

enter image description here

<?xml version="1.0" encoding="UTF-8"?> <Workspace version = "1.0"> <FileRef location = "group:BluetoothColorLamp24G.xcodeproj"> </FileRef> <FileRef location = "group:Pods/Pods.xcodeproj"> </FileRef> </Workspace>

请注意这一行:

location = "group:BluetoothColorLamp24G.xcodeproj"

.xcworkspace文件与.xcodeproj文件有关联。

如果发现在位置上没有文件或路径错误,可以将其链接到您的.xcodeproj文件,对我而言有效。

开发环境:
macOS 10.14 Xcode 10.1


2
这是一个非常好的答案。在我尝试了其他选项之后,它对我很有效。 - Peter Walter

4

对我来说,我换了一台不同的Macbook电脑。在电脑上运行pod update命令,问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接