我今天升级到了xcode 5.0。然后我按下播放在iOS模拟器中运行我的项目。这最初奏效了。然后我决定要运行探查器。当我这样做时,我收到了消息:
Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.
我看了几个关于这个问题的帖子,并决定做一个Clean and Build。现在我再也无法在探查器或模拟器中运行了。我一直得到这样的信息:
Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.
我该如何解决这个问题?
以下是各种设置:
我的部署目标是6.1
我也尝试将部署目标更改为7.0,但这不起作用
答案 0 :(得分:77)
似乎问题与构建设置中的体系结构无关,因为错误可能表明。相反,我发现问题似乎与C / C ++ / Objective C的构建选项编译器有关。我使用的是gcc编译器(com.apple.compilers.llvmgcc42),而Xcode 5已将此标记为不受支持。
如果我将编译器更改为Apple的默认Apple LLVM 5.0,则项目将构建,现在可以在模拟器中运行。缺点是我从与cocos2D v1.0源代码相关的代码中发现了很多编译器警告。但是,至少我有前进的方向。
答案 1 :(得分:34)
请按照以下步骤
1>转到项目构建设置
2>将c / c ++ / objective c的编译器更改为默认编译器(Apple LLVM 5.0)(见下图)
答案 2 :(得分:10)
我必须在两个地方更改默认编译器(Apple LLVM 5.0)的编译器:
很难找到,因为即使构建规则指向未定义的编译器,代码也会编译。
答案 3 :(得分:7)
在检查所有构建设置15分钟后,这对我有用(Xcode 5.0.2):
退出并重新启动Xcode
答案 4 :(得分:6)
检查Info.plist文件中的可执行文件(也称为CFBundleExecutable)是否设置为 $ {EXECUTABLE_NAME} ,而不是任何硬编码值。这将确保即使您更改项目名称或目标名称或方案名称,它仍然有效。
答案 5 :(得分:3)
在旧项目上复制目标后,通常会发生此问题。
在Info.plist中为目标设置以下内容:
Bundle Name = ${PRODUCT_NAME}
Bundle Display Name = ${PRODUCT_NAME}
Executable file = ${EXECUTABLE_NAME}
使用这些设置构建并运行,成功构建后,可以将它们更改为您想要的任何内容。
答案 6 :(得分:1)
这对我有用:“退出并重新启动Xcode”。我最近更新了一些东西,Xcode上的测试设备说:'iDevice'不是iPhone或iPod。所以我重新启动然后我的iPhone回到目标列表。
答案 7 :(得分:0)
当我在目标属性中更改" Bundle name" -key的值时出现此错误。将其更改回"%{PRODUCT_NAME}"为我解决了这个问题。