今天早上我正在运行我的应用程序,现在当我尝试在 iPhone 5.1 模拟器上运行时突然出现以下错误。
无法在所选目标上运行
目标不支持构建所选软件的体系结构。切换到支持该架构的目的地以运行所选软件。
我删除了这些方案,但仍然没有解决方案。
我正在使用山狮。我正在使用 xCode 4.4(最近升级到 Mountain Lion 和 xCode 4.4)
更新 1:这是我的构建设置的视图:
更新:这是阻止它运行的实际错误。
您可以按照以下步骤操作:
/Users/your_usr_name/Library/Developer/Xcode/DerivedData/
希望这能解决您的问题。
从 Facebook SDK 3.1 更新到 Facebook SDK 3.1.1 后,我遇到了这个问题。我的错,我猜。
在“resources”文件夹中,现在有一个完全无用但危险的 info.plist,如果导入,可能会破坏您的项目文件。不知道他们为什么把它包括在内,但我相信我们最近很少有人犯同样的错误。
我在 Xcode 4.4 版本中发现了这个问题。最后我以这种方式解决了它:
在您的项目中找到“Info.plist”,然后在窗口的右侧视图中取消选择目标成员资格,它适用于我。
您可能还想检查项目是否在项目设置中使用受支持的编译器
它只是复制了 Info.plist 文件,只需在文件中使用 1 个 Info.plist 文件,然后重新启动 xcode,它对我来说是固定的
我刚刚在 Xcode 4.5.1 中遇到了这个错误,在我从构建设置中取出所有非字母字符后,错误就消失了。Product Name
我相信这可能是 Xcode 4.4+ 当前未列出的错误。我的项目有/遇到了同样的问题。我删除了所有版本的 Xcode 并以 4.4 重新启动,打开我的项目并再次出现错误。
然后,我使用不同名称的模板开始了一个新项目。没有问题。
然后我重命名了我的旧项目,启动了一个具有相同名称的新空项目并构建/运行并再次出现错误。这个新项目只不过是一个什么都不做的视图控制器。我应该得到一个空白屏幕,但得到了与您相同的错误。
沮丧的我关闭了一天并重新运行了旧项目并且它起作用了。我没有改变任何东西。目前我再次遇到错误,重新启动或重新启动 Xcode 都没有修复它。
所以总而言之,一个项目可以完全不做任何更改,有时它可以构建和运行良好,有时你会得到这个错误。作为记录,我在运行 Xcode 4.3 时没有收到此错误。
直到我升级到恰好在同一天的 Mountain Lion 和 Xcode 4.4 后,我的问题才出现。现在我无法回到 100% 可行的配置。
将我的文件提交到 SVN 并在新目录中签出项目为我解决了这个问题。
查看该架构中的项目和目标构建设置,看看是否有任何变化。当第一次从 Xcode 3 到 4 时,它曾经以隐藏的方式破坏,给出同样的错误,最后你不得不将 i386 添加到“Valid Architectures”行。我刚刚查看了我从 Xcode 4.1 开始的大项目,它没有显示任何关于 i386 等的信息,但是我有其他较新的项目,我在 $(ARCHS_STANDARD_32_BIT) 行中看到了这个灰色的东西。
编辑:我和一位大师朋友重新审视了这一点。我们俩都无法在我们的项目中找到与 i386 的链接——Xcode 使用了一些魔法。也就是说,我确实在项目中的二进制 plist 中对 i386 产生了影响,这导致我提出另一个建议。
在您的构建设置中,确保所有“架构”都是 $(ARCHS_STANDARD_32_BIT)。
如果这不起作用,我们建议您在方案菜单中选择 iPhone 5.1 Simulator 时查看构建的 compile 和 ld 行 - 看看它是否真的是 i386,
另一个想法 - 将所有方案和用户设置移动到某处的保存文件夹(项目关闭),然后重新打开并重新创建方案。现在再试一次。在我的任何 project.pbxproj 文件中都没有对 i386 的引用,所以我们怀疑这与目标设备的方案设置有某种关系。
祝你好运!
我已经解决了在项目和目标构建设置中将关键“构建变体”从“armv7”更改为“正常”的问题
除了删除这个目录下的所有文件Users/your_usr_name/Library/Developer/Xcode/DerivedData/
我重新启动了我的mac,它工作正常(重新启动xcode并且模拟器没有为我剪掉它)
我的项目面临同样的问题。这是对情况和我的解决方案的简要说明。这可能适用于您的情况,也可能不适用。
我在一个有多个 iOS 项目的地方工作。我最近将系统升级到 Mac OSX 10.8 和 Xcode 4.4.1。我正在研究一个最初基于 Xcode 4.1 for iOS 4 构建的项目。由于 Xcode 在 4.3 之前都有 iOS 4 模拟器,因此该项目在所有模拟器上都构建并运行良好。然而,在 Xcode 4.4.1 中,我没有找到 iOS 4 模拟器,也没有简单的方法来安装它们,这就是为什么我收到“无法在选定目标上运行”错误的原因。以下是我如何让我的项目运行。
检查并为所有配置文件Build Settings > Architectures
设置架构。Standard (armv7)
${ARCHS_STANDARD_32_BIT}
在我的情况下设置Base SDK
为Latest iOS(<ios version #>)
5.1。
为所有配置文件设置Build Active Architecture Only
为。NO
为所有配置文件设置Valid Architectures
为。armv6 armv7
您可能需要添加任何一个,具体取决于已经可用的内容。
设置iOS Deployment Target
为iOS 5.1
(在我的情况下)。
确保在项目选项卡下具有相同的Deployment Target
目标Summary
。
清洁并运行并交叉手指!
就我而言,在删除整个 Resources 文件夹、将 Resources 文件夹从其他或旧项目复制到当前项目然后添加回该文件夹之后,就会出现问题。
我在分析工具的帮助下解决了这个问题:分析后,它让我对“复制捆绑资源”中的 Info.plist 感到温暖。
只需转到 Copy Bundle Resource(在 Build Phrase 选项卡上)删除 Info.plist,然后重新启动 Xcode,清理并构建。我的项目恢复正常。
希望能帮助别人:)
我遇到了同样的问题。就我而言,似乎是我更改了多目标项目的捆绑名称,而不是产品名称。一旦我通过正确编辑项目名称并将捆绑名称设置回 ${PRODUCT_NAME} 来纠正它,它将再次在模拟器中运行。
这可能不是每个人的答案,但似乎产品命名错误(特殊字符、空格等)是许多人的原因,这就是促使我回顾我的重命名的原因。
我认为很多这些解决方案都会强制进行完全重建,这就是为我解决这个问题的原因。
我做了 Product => Clean,问题就消失了。
对我来说,这很有效: - 检查所有产品参考在设置和列表中是否一致。还要检查产品名称是否包含任何空格或其他“非法”字符。
从回复来看,这种类型的错误有很多潜在的来源,所以这里是我自己的(诚然粗心)版本的错误(和简单的解决方案):
我知道很傻,但是由于上面列出的一些更激烈的解决方案可以间接解决这个错误,我想我会分享一下,以防其他人犯了同样的错误!
我从时间机器中恢复数据。请注意,这与 1 小时前存储的数据完全相同。问题从昨天开始。所以它应该是完全相同的数据。\
然而它确实有效。
我尝试了这里提到的一切。没有任何效果。似乎我以某种方式导入了 Info.plist 两次。为了修复它,我选择了项目并按下“验证设置”按钮。之后它对我有用。
你会很高兴知道这个问题有一个非常简单的解决方案。在项目导航树中选择 Info.plist 并确保它没有分配给目标。我已经确认这是正确的解决方案。如果为 iOS 6 或更早版本构建,您可能还需要将 armv6 添加到支持的架构中
我解决这个错误的方法是在我的项目中添加一个虚拟函数。我的问题是我的应用程序没有自己的代码,只有链接代码。
我有两个项目的不寻常情况:一个“App”父级和一个“Engine”子级。所有可编译的代码都在子级中,父级简单地与子级链接,将大量特定于应用程序的资源复制到项目中。
显然这让 Xcode 感到难过,导致上述错误。
我的解决方案是将此 C 函数/文件添加到 App 项目中:
int workaround_for_xcode_reporting_cannot_run_on_selected_destination(){return 0;}
尝试重命名您的项目。我通过这种方式解决了。
经过半天的试验,我认为这意味着调试器找不到要启动的可执行文件。我认为这是与先前答案的一个重要区别,因为它是一个潜在的原因,可能有很多症状。在我的情况下,它无法为自定义构建协调应用程序 Info.plist,我们正在复制构建的 plist。我将构建设置更改为 AltDebug 的 Alt-Info.plist 并修复了它。也意味着不再复制。
你的根本原因可能不同,所以关键是想想为什么 Xcode 可能无法找到你构建的应用程序。
另一个变体解决方案:在尝试了上面列表中的几乎所有内容之后,我通过解决无法找到 TestFlightSDK1 路径的警告来解决此问题。为此,我从 Header Search Paths (Build Settings>Search Paths) 中删除了相关路径并删除了 TestFlightSDK,现在一切正常。
上面的一切都不起作用,但这确实:
确保您在 git 下拥有所有(不可忽略的)文件
我的 .gitignore 看起来像这样
*.xcworkspace
xcuserdata
.DS_Store
Pods
在某处备份 MyProject.xcworkspace
删除 MyProject.xcworkspace 和 MyProject
git reset --hard HEAD
将 MyProject.xcworkspace 复制回您的工作目录
pod install
重建!
从 Copy Bundle Resource 构建阶段删除 Info.plist。这对我有用!
我从一开始就有这个,看起来模拟器无法处理虚拟智能卡是一个问题。不幸的是,我最终只使用通过 USB 连接的 Android 手机。
发生两件事后,我遇到了同样的问题:
我唯一有效的解决方法是添加 armv7s(注意最后的“s”!!!)就像这里建议的那样: https ://stackoverflow.com/a/12540654/531527
在为 OSX 项目升级到 Mountain Lion 和 XCode 4.4.1 后,我遇到了这个问题。为了解决这个问题,我不得不将我的部署目标升级到 10.5 或更高版本;它设置为 10.4 及更高版本。
在这里尝试其他答案和做这个答案所说的我似乎已经解决了这个问题
我有这个问题并应用不同的解决方案但它没有用,所以我找到了这个问题的解决方案,执行这些步骤
1- 在构建设置 armv6 中添加架构 2- 只需进行验证设置 3- 清理代码 4- 构建并运行
干杯
您必须在“活动监视器”中找到 Xcode 进程并将其杀死!我只是为了解决类似的问题!
意外删除 Resources 文件夹后,我遇到了这个问题,当我再次将其添加到项目中时,Bam !
我也在运行 Mountain Lion 和 XCode 4.4 !
试图找出导致这种情况的原因,但是当您删除然后添加 info.plist 文件时,它似乎被复制了!有人可以确认吗?
对我来说,它的 info.plist 重复条目导致了同样的问题。
从信息 plist 中删除了图标文件三角形并正常工作。
为我工作。
如果您使用的是 Xcode 8 Beta,那么您必须更改以下内容:
- 选择项目并进入目标构建设置 - 输入键“构建变体”到搜索框 - 刚刚从“armv7”更改为“正常”或反转它。