Xcode不能在所选目标上运行。

55

今天早上我在运行我的应用程序,但突然间,当我试图在iPhone 5.1模拟器上运行时,出现了以下错误。

无法在所选目标上运行

该目标不支持所选软件构建的架构。请切换到支持该架构的目标以运行所选软件。

我已经删除了方案,但仍然没有解决方案。

我正在使用Mountain Lion,使用的是xCode 4.4(最近升级到Mountain Lion和xCode 4.4)

更新1:这是我构建设置的视图:

enter image description here

更新2: 这是实际错误,阻止它运行。

enter image description here


我只是重新启动了XCode,问题就解决了。 - Øystein
我有同样的问题。没有解决方法。 - user4234
7
将 Info.plist 从目标中移除(不删除文件本身)。或者只需运行项目验证并修复问题。问题得到解决! - Bagusflyer
@bagusflyer:谢谢,我去项目设置里点击“验证设置”就解决了这个问题,否则每次清理和再次构建都要重新启动Xcode。 - Zennichimaro
1
我的问题是我在 plist 文件中更改了可执行文件的名称 ${EXECUTABLE_NAME}。将其改回后,清除派生数据并重新启动 XCode,我摆脱了错误。 - Chris Ching
37个回答

69
你可以按照以下步骤进行操作:
  • 退出 Xcode 和 iPhone 模拟器
  • 拔掉你的设备
  • 前往 /Users/your_usr_name/Library/Developer/Xcode/DerivedData/
  • 删除该文件夹下的所有数据
  • 重新启动 Xcode 并运行你的项目
希望这能解决你的问题。

2
这对我有用。我不需要删除所有项目,只需删除与出现问题的项目相关的数据即可。 - sixstatesaway
清空那些文件夹并从目标中删除Info.plist(不要删除文件本身) - zszen
3
@zszen,说得好。通常这个问题是由于将-info.plist文件添加到目标中引起的。所以只需选择-info.plist文件,进入“文件检查器”(xcode的右侧面板),并取消选中目标成员资格(如果已经选中)。之后按照以下步骤进行操作。 - x4h1d
好的提示,但对我而言有点不同。我有两个7.1版本的设备,但每个设备的版本都不同,分别是11D167和11D169。在文件夹 (/Users/your_usr_name/Library/Developer/Xcode/DerivedData/) 中,只有7.1 (11D167),而缺少了7.1 (11D169)。当我将数据从7.1 (11D167) 复制到 7.1 (11D169) 并重新启动 Xcode 并重新连接设备后,正确的数据被复制了。更多信息请参见我的博客: https://pjstrnad.com/upgrading-ipadiphone-7-1-unable-locate-devicesupport-directory-matched-connected-device-info/ - Pavel Jiri Strnad

33
我在更新Facebook SDK 3.1到Facebook SDK 3.1.1之后遇到了这个问题。我想这是我的错。
在“资源”文件夹中,现在有一个完全无用但危险的info.plist,如果导入可能会破坏您的项目文件。不知道为什么他们要包含它,但我相信最近很少有人犯了同样的错误。

我也遇到了同样的问题,将项目中的Info.plist文件删除后问题得到解决。 - Kristofer Sommestad
1
有 info.plist 但它在框架中。是的,这发生在更新 Facebook SDK 后。删除它有点极端。 - user4234
是的!尝试了所有方法都没用!Facebook SDK中的Info.plist是原因。移除引用! - Benny7500
我的经验是,这个问题我用这个解决方案已经成功解决了两次。 - Jinbom Heo
是的!只需删除从FB SDK导入的资源文件夹中的info.plist,它就会再次完美运行。 - firestoke

17
我发现在Xcode 4.4版本中存在这个问题,最终我用以下方法解决了它:
找到你的项目中的 "Info.plist"文件,然后取消选择右侧窗口视图上的目标成员加号,这对我有效。

谢谢你,恶魔。遇到相同问题的人可能会看到以下内容: 错误:无法附加到进程ID 0在模拟器中,您将看到${PRODUCT_NAME}作为您的应用程序,而不是您填充的产品名称。我正在运行XCode 4.5。 - Dean Liu
什么是目标成员资格?这种东西不存在。 - user4234
@SharenEayrs 它在Xcode的右侧视图上,您需要选择正确的导航查看器。 - demon
我也有一些PSD文件进入了构建周期。将它们和Info.plist文件删除后,问题得到了解决。 - David Grandinetti
我因为删除并重新添加我的info.plist文件而引起了这个问题。我按照你的建议,重启了Xcode,并删除了派生数据文件夹,问题得到了解决。谢谢! - zekel
实际上,这是一种解决方案,用于当Info.plist在“复制捆绑资源”构建阶段中被复制的情况。您只需要将其从此阶段中删除,一切都会得到解决。 - GregoryM

8

您可能还需要检查项目设置中是否使用支持的编译器蓝色选项如图所示


7

这只是重复的Info.plist文件, 只需在文件中使用一个Info.plist文件,然后重新启动xcode 对我来说已经解决了问题


终于你的答案解决了我的问题。是的,这是因为有重复的info.plist。 - Guru

6

我在使用Xcode 4.5.1时遇到了这个错误,但当我将“产品名称”构建设置中的所有非字母字符删除后,错误消失了。


非常感谢!如果没有您的帮助,我可能会一直搜索而永远找不到这个答案。 - Emmanuel

4

将我的文件提交到SVN并在新目录中检出项目,这为我解决了问题。


尝试了所有方法,认真地说只有这一个起作用了……苹果可耻。 - Gabor
@SharenEayrs 我真的希望你是在开玩笑 :D - Mostafa Berg

4
我相信这可能是Xcode 4.4+当前未公开的bug。我在我的项目中遇到了同样的问题。我删除了所有版本的Xcode并重新开始使用4.4,打开我的项目,又出现了错误。
然后我用另一个名称的模板开始了一个新项目。没有出现这个问题。
然后我将旧项目重命名,用相同的名称启动一个新的空项目,并进行构建/运行,结果又出现了错误。这个新项目仅仅是一个什么也不做的视图控制器。我应该得到一个空白屏幕,但却得到了你看到的错误。
我很沮丧,于是关机一天后重新运行旧项目,它竟然可以工作了。我什么都没改。目前我又出现了这个错误,无论是重新启动还是重启Xcode都无法解决。
因此,总结一下,有时候一个项目完全没有进行任何更改,有时候可以成功构建和运行,有时候会出现这个错误。值得一提的是,在运行Xcode 4.3时我没有遇到过这个错误。
我的问题直到我升级到Mountain Lion和Xcode 4.4才出现,这恰好是同一天。现在我无法回到一个100%可工作的配置。

2
对我最近有效的方法似乎是关闭Xcode。结束所有看起来仍在运行的Xcode进程。进入 /Applications 并将您可能拥有的其他版本移动到 Applications 之外的不同文件夹中。做完这些后,Xcode似乎能在模拟器上运行应用程序了。我还遇到一个问题是有时它会显示“Running ${EXECUTABLE_NAME}”而不是插入正确的应用程序名称。YMMV - ptk
好的,一周后我可以安全地说我的问题已经解决了。我升级到了4.4.1版本,但实际上解决问题的是将我的源代码树移动到另一个文件夹中,启动一个新的空模板,重新添加我的源文件到新项目中,并验证所有构建设置都有正确的信息。一周以来我没有遇到任何问题。 - ptk
我也认为这是一个错误——Mountain Lion和4.4。唯一解决这个问题的方法是重新启动我的Mac,但它很快就会死机。 - Vinnie
1
这绝对是Xcode 4.4.1中的一个bug。我也遇到了同样的问题,不得不删除并重新安装Xcode才能让项目再次在我的设备上运行。 - Arunabh Das

3

除了删除此目录中的所有文件之外,
Users/your_usr_name/Library/Developer/Xcode/DerivedData/

我重启了我的Mac,它正常工作了(重启Xcode和模拟器对我来说不起作用)。


一样的情况。重新启动 Mac 最终解决了问题。 - Sanjay Chaudhry

3

我已经解决了问题,只需要在项目和目标构建设置中将"Build variants"键从"armv7"更改为"normal"即可。


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