XCode 4.3.2 应用程序可执行文件缺少所需的架构。以下armv7至少之一
Posted
技术标签:
【中文标题】XCode 4.3.2 应用程序可执行文件缺少所需的架构。以下armv7至少之一【英文标题】:XCode 4.3.2 Application executable is missing a required architecture. At least one of the following armv7 【发布时间】:2012-10-09 12:54:04 【问题描述】:我在 Lion 10.7.3 上安装了 XCode 4.3.2 我尝试在 AppStore 中分发我的应用程序,但是当我验证时,我收到错误消息: “iPhone/iPod Touch:应用程序可执行文件缺少所需的架构。必须至少存在以下架构之一:armv7”,但我在目标设置中有此架构。
我在构建设置中将“armv6”添加到架构中(许多人推荐),但它对我不起作用。 这是我的项目的构建设置:
---架构---
架构 - 标准 (armv7)
发布 - 标准 (armv7)
基础 SDK - 最新 ios (iOS 5.1.)
仅构建活动架构 - 否
支持的平台 - iphonesimulator iphoneos
有效架构 - armv7
---构建选项---
构建变体 - 正常
C/C++/Objective-C 的编译器 - 默认编译器(Apple LLVM 编译器 3.1)
【问题讨论】:
您是否尝试提交 x86 模拟器版本而不是 iOS 设备版本? 为 iOS 5.1 模拟器构建成功。毕竟我安装了 Mac OS X 10.7.4 来安装 XCode 4.5.1。为 iOS 6.0 模拟器构建是成功的,但是当我尝试为 iOS 设备构建时,我得到错误:“ld:文件是通用的(4 片)但不包含(n)armv6 片:/Applications/Xcode.app/Contents /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.o 用于架构 armv6”。顺便说一句,我不需要为 armv6(!)构建。如何从我的项目中删除 armv6 支持? @hotpaw2 仅供参考:您无法提交模拟器版本。除非您选择为 iOS 设备构建,否则它不会让您存档。 【参考方案1】:回复您评论中更新的问题:
要在 Xcode 4.5.x 下放弃 armv6 支持,请将 iOS 部署目标提升到 4.3 或更高版本,并从构建架构和目标的活动架构中删除 armv6。
补充:如果您包含任何仅支持 armv6 的第三方库,则无法执行此操作,除非您获得更新的更新库。
【讨论】:
谢谢。我的项目的部署目标是 6.0。我没有添加 armv6 来构建 XCode 4.5.1 中的架构。为什么我会收到有关 armv6 的错误消息? 这是在 XCode 4.5.x 之前创建的项目吗?如果是这样,那就是所有以前的架构都来自。只需从所有多个项目和目标设置中查找并删除所有 armv6 提及。 谢谢。该项目使用 Delphi XE2 创建并使用 FreePascal 2.6.0 和 Firemonkey 移植到 XCode。如何删除所有 armv6 提及?【参考方案2】:我刚刚通过 Update 4 Hotfix 1 更新了 Firemonkey,它已经全部编译完毕。 http://blogs.embarcadero.com/ao/2012/04/12/39245
谢谢大家!
【讨论】:
以上是关于XCode 4.3.2 应用程序可执行文件缺少所需的架构。以下armv7至少之一的主要内容,如果未能解决你的问题,请参考以下文章
xcode 验证错误:info.plist 文件缺少所需的密钥:CFBundleVersion
Xcode 错误 ITMS-90022:缺少所需的图标文件。捆绑包不包含应用程序图标 120x120、167x167、152x152