XCode 4.5,Facebook SDK 3.1的实现导致了“...所选目标不支持架构...”错误。

8

目前出现以下错误:

无法运行所选目标

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

在将新的Facebook SDK添加到我的项目后(添加框架,将-lsqlite3.0添加到我的其他链接器标志构建设置),开始出现此问题。

我尝试重新启动计算机;我在不同的应用程序上尝试过(其中一个是Facebook要求您演示登录的应用程序),无论我做什么,都会出现此错误。在SO上搜索,未找到与我相关的内容。

有任何想法吗?


2
在项目文件中,默认情况下,Xcode 4.5会添加armv7和armv7s到有效架构中。如果你的静态库没有为armv7s编译,就可能会出现错误。因此,请尝试移除armv7s。 - ravi
我尝试过这样做,但不知道适当的格式。我可以只写“armv7”吗?还是必须按特定方式格式化?默认文本是:$(ARCHS_STANDARD_32_BIT),它会给你arm7和arm7s。 - Mark B
默认的架构文本是:$(ARCHS_STANDARD_32_BIT),在我的情况下它显示为armv7,armv7s。此外还有一个“有效架构”条目,在其中我删去了armv7s。 - ravi
3个回答

0

我见过几种不同的原因导致这个错误。像上面提到的,确保构建设置中定义的架构对于项目和你使用的任何静态库是正确的。

引起此问题的一件事是我经常遇到的,即在项目或一个目标构建设置中指定的“产品名称”与目标名称不匹配。

例如: 如果你有一个名为"MyProject"的项目和一个名为"SomeTarget"的目标,在“SomeTarget”的构建设置中,“产品名称”(在"打包"下)必须是"SomeTarget"。如果不是,无论什么原因,你都会得到这个错误。

我们在工作中有一个项目,我们运行一个脚本来更改各种东西,这样我们就可以根据需要单独打包应用程序。每当我们向脚本添加新配置时,如果我们不添加更改产品名称的部分,我们每次都会遇到这个错误。

不知道这是否能帮助你的特定问题,但我想提一下,以防万一。


0
我已经找到了问题所在,如果你安装了FacebookSDK并且添加了资源文件夹以获取Facebook图像按钮,那么就会有一个Info.plist文件。XCodes对这个info.plist文件处理得很奇怪。我已经将其删除,进行了清理,现在它完美地工作了 :) 最好的选择是将项目移动到其他路径。有时从库依赖项中添加和删除libsql3.0也可以起作用。

0

你是否已添加了整个 facebooksdk 文件夹?如果是的话,它里面有一个 info.plist 文件,请将该文件删除,问题就会解决。

Xcode 在项目中存在多个 Info.plist 文件时会出现混淆。


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