【问题标题】:XCode 4.5 (4G182) + iPhone 5 iOS6 - Choose a destination with a supported architecture in order to run on this deviceXCode 4.5 (4G182) + iPhone 5 iOS6 - 选择具有受支持架构的目标以便在此设备上运行
【发布时间】:2012-09-22 03:52:37
【问题描述】:

所以我昨晚使用 XCode 4.5 为 iOS6 创建了一个全新的应用程序。我可以在装有 iOS6 的 iPhone 4 上正常开发。

今天我得到了带有 iOS6 的新 iPhone 5,在使用新设备 UUID 更新证书后,我尝试在其上运行我的应用程序并收到此错误:

XCode 无法使用所选设备运行。选择一个目的地 支持的架构,以便在此设备上运行。

我已启用该设备进行开发。 armv7 和 armv7s 都在设置中。

我已包含来自 Facebook 3.0 SDK 的源代码和链接器标志“-lsqlite3.0”。我猜这个问题一定是相关的,但不知道哪里出了问题。

有什么办法解决吗?

PS:在模拟器上运行应用程序时也会出现此问题。不知道昨晚到今天我的项目或 XCode 发生了什么变化,除了我有一个新设备和新证书。

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

【问题讨论】:

  • 不要直接添加编译器标志。尝试以与添加框架相同的方式添加 sqlite 库。所有动态库都在那里,然后构建系统将生成正确的链接(模拟器为 LP64,A6 为 armv7s,A5 为 armv7)

标签: iphone xcode ios6 iphone-5 xcode4.5


【解决方案1】:

另外你需要在

中选择编译器LLVM

项目 --> 构建设置 --> 构建选项

【讨论】:

    【解决方案2】:

    我在 XCode 5.0 上运行 OLD 项目时发现了同样的问题,我的解决方案是:

    您需要执行以下步骤才能解决此问题:

    1.设置有效架构:armv7,armv7s

    2.Project ---> Build Settings ---> Build Options中将compiler设置为LLVM。 p>

    3.正确设置Base and Deployment sdk

    这是我的解决方案。乐于助人。

    【讨论】:

      【解决方案3】:

      您需要在 Target 的 Build Settings 下将 armv7 添加到您的有效架构中。

      【讨论】:

      • 我有这些设置。奇怪的。我认为它必须与 Facebook 3.0 SDK 的源代码和链接器标志 -lsqlite3.0 相关。我刚刚用所有这些信息更新了帖子。谢谢!
      • 就我而言,“有效架构”并没有造成麻烦,即使它们是 i386、armv6、armv7。但是“附加 SDK”下的架构需要更改为“标准(armv7,armv7s)”。感谢您的建议。
      【解决方案4】:

      在将 Facebook SDK 文件添加到您的项目时,您包含了 src/Framework/Resources/Info.plist。只需将其从您的项目中删除,一切都会再次运行。保证! :)

      【讨论】:

      • 是的,这行得通。您可能还会收到“SBTarget 无效”错误。我刚刚从“目标会员”中取消选中“Info.plist”,它就起作用了。非常感谢。
      【解决方案5】:

      我已经使用以下步骤解决了问题。

      1. 关闭 Xcode
      2. 从设备中删除应用程序
      3. 重启设备
      4. 然后重新运行应用程序

      它工作正常..

      【讨论】:

        【解决方案6】:

        确保包名称(在 plist 文件中)与项目名称相同。我改变了它,它起作用了。

        【讨论】:

        • 这救了我的命!
        【解决方案7】:

        我的第 3 方库之一无法在 armv7s 上运行,因此我删除了该选项。我还删除了 armv6 并将 armv7 作为唯一选项。它只用 armv7 在手机上构建和运行。

        【讨论】:

          【解决方案8】:

          我已经使用以下步骤解决了问题。

          关闭 Xcode 从设备中删除应用程序 重启设备 然后重新运行应用程序 它工作正常..

          【讨论】:

            【解决方案9】:

            我遇到这个问题是因为Build settings-> Complier for C/C++/Objective c 设置错误。

            所以我把它改成了默认编译器可用,它成功了!

            【讨论】:

            • 感谢 Nishant 的有用回答!
            【解决方案10】:

            只需要选择编译器中的LLVM

            目标 --> 构建设置 --> 构建选项

            【讨论】:

              【解决方案11】:

              我遇到了同样的问题。当我检查编译器时,它显示编译器不兼容。你需要使它有效。要设置有效的编译器,请按照以下步骤操作

              选择你的

              项目---->构建设置-->

              在搜索栏类型编译和搜索 现在您可以在构建选项下找到构建选项,您会发现 compiler for c/c++/objective c 将其设置为有效的。

              【讨论】:

                【解决方案12】:

                所以基本上我创建了一个新项目,复制了所有源代码,一切似乎都运行良好。至少应用程序运行。

                我不确定是哪个设置导致了问题。

                【讨论】:

                  【解决方案13】:

                  我遇到了为 iOS 4.x 构建的数据库不足的问题,我正在为支持 iPhone 5 的 iOS 6 构建一个新应用程序。我收到了这个错误,我解决它的唯一方法是让 armv7 成为我的项目和目标构建设置中列出的唯一架构和有效架构。

                  【讨论】:

                    【解决方案14】:

                    删除 info.plist 引用。然后将 info.plist 重新拖到 proj 但不要复制到“target”

                    【讨论】:

                      【解决方案15】:

                      您只需转到 Build setting Then valid architecture Replace armv7 armv7s 而不是 armv7 。然后它会正常工作。

                      【讨论】:

                        【解决方案16】:

                        好的,不确定这是否是您项目中的问题。但是为我解决的问题是更改 Info.plist 文件的名称。

                        1. 我将名称从 Info.plist 更改为 my-project-info.plist
                        2. 也在 target-build-settings/Packaging/Info.plist 下更改它
                        3. 比从设备/模拟器中删除应用程序并通过 Xcode 重新运行应用程序

                        在我的情况下,从那以后一切都很好。在我的案例中,plist 文件中的规范或有效架构没有任何问题

                        【讨论】:

                          【解决方案17】:

                          当您的项目在 xcode 4.5 中构建并且您尝试在 xcode 5.0 中运行时,有时会发生这种情况。 所以就我而言,我找到了解决方案。

                          为 C/C++/ObjectiveC 更改编译器转到构建

                          设置->构建选项-> C/C++/ObjectiveC 编译器;选择 默认(苹果 LLVM5.0)

                          【讨论】:

                            猜你喜欢
                            • 2014-05-30
                            • 2012-08-19
                            • 2014-08-09
                            • 2014-04-02
                            • 1970-01-01
                            • 1970-01-01
                            • 2012-10-16
                            • 2021-02-22
                            • 1970-01-01
                            相关资源
                            最近更新 更多