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个回答

1
您会很高兴知道,这个问题有一个非常简单的解决方案。在您的项目导航树中选择 Info.plist 并确保它未分配给任何目标。我已确认这是正确的解决方案。如果构建 iOS 6 或更早版本,您可能还需要将 armv6 添加到支持的架构中。

1
我解决这个错误的方法是在我的项目中添加一个虚拟函数。我的问题是我的应用程序没有自己的代码,只有链接的代码
我有两个项目的不寻常情况:一个“App”父级和一个“Engine”子级。所有可编译的代码都在子级中,父级仅与子级链接,并将大量特定于App的资源复制到项目中。
显然,这使Xcode感到沮丧,导致上述错误。
我的解决方案是将此C函数/文件添加到App项目中: int workaround_for_xcode_reporting_cannot_run_on_selected_destination(){return 0;}

1

我从时间机器中恢复了数据。请注意,这是仅在1小时前存储的完全相同的数据。问题始于昨天。因此,这应该是完全相同的数据。

然而,它可以正常工作。


0

之前的所有方法都没有奏效,但这个方法可以:

  1. 确保你的(非被忽略的)文件都在 git 下

  2. 我的 .gitignore 文件看起来像这样

    *.xcworkspace
    xcuserdata
    .DS_Store
    Pods
    
  3. 在某个地方备份 MyProject.xcworkspace

  4. 删除 MyProject.xcworkspace 和 MyProject

  5. git reset --hard HEAD

  6. 将 MyProject.xcworkspace 复制回你的工作目录

  7. pod install

  8. 重新构建!


0
我在将我的OSX项目升级到Mountain Lion和XCode 4.4.1后遇到了这个问题。为了解决它,我不得不将我的部署目标升级到10.5或更高版本;它之前被设置为10.4及以上版本。

0
另一种解决方案:在尝试了上述列表中的几乎所有方法后,我通过解决警告“找不到TestFlightSDK1路径”来解决了这个问题。为此,我从Header Search Paths(Build Settings> Search Paths)中删除了相关路径并删除了TestFlightSDK,现在一切都运行得很好。

0

对我来说,info.plist 的重复条目导致了相同的问题。

从 info.plist 中删除图标文件的三角形即可解决问题。


0

对我有用。

  1. 将您的存储库拖到垃圾桶中,然后重新克隆它。
  2. 删除您设备上的应用程序。
  3. 重新连接并运行。它应该可以工作了。
  4. 找一个沙袋来缓解您的挫败感,并抵制犯下严重罪行的冲动。

0

我遇到了这个问题,尝试了不同的解决方案,但都没有用,所以我找到了这个问题的解决方案,请按照以下步骤操作:

1- 在构建设置中添加架构 armv6 2- 仅进行验证设置 3- 清除代码 4- 构建并运行

干杯!


0

如果您正在使用Xcode 8 Beta,则必须更改以下内容:

-选择项目并进入目标构建设置 - 在搜索框中输入关键字“Build variants” - 然后只需从“armv7”更改为“normal”或反之亦然。


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