【问题标题】:XCode 4.5, Facebook SDK 3.1 implementation resulting in "...selected destination does not support the architecture ..." errorXCode 4.5、Facebook SDK 3.1 实现导致“...所选目标不支持架构...”错误
【发布时间】:2012-10-16 02:11:57
【问题描述】:

目前出现以下错误:

无法在选定目标上运行

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

在将新的 Facebook SDK 添加到我的项目后开始发生这种情况(添加框架,将 -lsqlite3.0 添加到我的其他链接器标志构建设置中。

我已尝试重新启动计算机;我已经在另一个应用程序上尝试过(其中一个 facebook 指示您演示登录),无论我做什么,我总是会收到此错误。在 SO 上环顾四周,没有发现任何与我有关的东西。

有什么想法吗?

【问题讨论】:

  • 在项目文件中,默认情况下在有效架构下 armv7 , armv7s 由 Xcode 4.5 添加,如果您的任何静态库没有为 armv7s 编译,您可能会收到此错误。所以尝试删除 armv7s
  • 我试过这样做,但不知道适当的格式。我可以只写“armv7”还是必须以某种方式格式化?默认文本是:$(ARCHS_STANDARD_32_BIT),它为您提供 arm7 和 arm7s。
  • 架构的默认文本是:$(ARCHS_STANDARD_32_BIT),在我的例子中它显示 armv7 , armv7s。还有一个条目“有效架构”,我删除了 armv7s

标签: ios xcode facebook sdk linker


【解决方案1】:

您是否添加了整个 facebooksdk 文件夹?如果是这样,它有一个 info.plist 文件,删除该文件,你应该没问题。

当一个项目中有多个 info.plist 文件时,xcode 会感到困惑

【讨论】:

    【解决方案2】:

    我发现了问题,如果您安装 FacebookSDK 并添加资源文件夹以获取 facebook 图像按钮,则会有一个 Info.plist 文件。这个 info.plist 文件让 XCodes 变得很奇怪。我已经删除了它,做了一个干净的,现在它完美了:) 最好的选择是将项目移动到其他路径。从 lib 依赖项中添加和删除 libsql3.0 有时也可以。

    【讨论】:

      【解决方案3】:

      我发现有几个不同的原因会导致此错误。如前所述,确保构建设置中定义的架构对于项目和您正在使用的任何静态库都是正确的。

      导致我多次遇到此问题的原因是项目或其中一个目标构建设置中指定的“产品名称”与目标名称不匹配。

      例如: 如果您有一个名为“MyProject”的项目并且您有一个名为“SomeTarget”的目标,则在“SomeTarget”的构建设置中,产品名称(在“Packaging”下)必须是“SomeTarget”。如果不是,无论出于何种原因,您都会收到此错误。

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

      不知道这是否会对您的特定问题有所帮助,但我想我会提到它以防万一。

      【讨论】:

        猜你喜欢
        • 2017-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-02
        • 1970-01-01
        • 1970-01-01
        • 2012-09-17
        相关资源
        最近更新 更多