我将在Xcode 5中启动一个新项目.我想用iOS SDK 7开发应用程序,但部署目标是iOS 5.0.当我在Xcode中创建新项目并try 将部署目标更改为5.0时,我收到了以下消息:

Applications including an arm64 slice are not compatible with versions of iOS
prior to 6.0
Adjust your Architectures build setting to not include arm64 in order to deploy
to releases prior to iOS 6.0.

因此将体系 struct 更改为Standard(不是64位).我编译、运行,但我真的不明白刚才发生了什么.

Xcode项目构建设置中的ArchitecturesValid architectures设置有什么区别?
如果我将Architectures设置为排除64位,当我在64位iPhone或iOS模拟器上运行我的应用程序时会发生什么(我知道它可以工作,我只是好奇下面是什么情况)?
您能解释一下新的64位体系 struct 带来的巨大混乱吗?

在此处输入图像描述

推荐答案

将构建中的架构设置设置为Standard architectures(armv7,armv7s)

在此处输入图像描述

iPhone5S采用7个64位处理器.从apple docs

Xcode可以使用32位和64位二进制文件构建应用程序.此组合二进制文件要求最低部署目标为iOS 7或更高版本.

注意:future 版本的Xcode将允许您创建一个应用程序,在iOS 6及更高版本上支持32位运行时,并在iOS 7上支持64位运行时.

从文档中我了解到的是

  • Xcode可以为单个应用程序同时创建64位和32位二进制文件,但是 部署目标应为iOS7.他们说将来会 BE IOS 6.0
  • 32位二进制在iPhone5S(64位处理器)上可以正常工作.

Update (Xcode 5.0.1)
在Xcode5.0.1中,他们添加了为iOS 5.1.1及更高版本创建64位二进制文件的支持.

Xcode5.0.1可以构建包含32位和64位二进制文件的应用程序.此组合的二进制文件要求最低部署目标为IOS 5.1.1或更高版本.64位二进制文件仅在运行IOS 7.0.3及更高版本的64位设备上运行.

Update (Xcode 5.1)
Xcode5.1在体系 struct 部分做了重大改变.这answer美元将作为您的后续服务. Check this

Ios相关问答推荐

如何正确测试后台URLSessionDownloadTask?

Firebase SDK 10+—无法安装软件包

在相机动作之前快速防止场景视点重置

如何删除NavigationView中的默认透明标头?

在 iOS 上以后台模式安排任务(屏幕时间 API)

当目标位于菜单标签内时,matchedGeometryEffect 的行为很奇怪

在Xcode 15中为具有@Binding的视图创建SwiftUI #预览的方法

为什么 Swift 不在启动的同一线程上恢复异步函数?

无法从 Xcode 获取模拟器列表.请打开 Xcode 并try 直接从那里运行项目以解决剩余问题

集成 IDNow SDK 时未找到 Xcode FLAnimatedImage.h 文件问题

帧过渡动画有条件地工作

我可以在 Apple-Watch 上使用 iPhone 的摄像头扫描 SwiftUi 中的二维码(例如用于登录)吗

通过按钮打开 AppStore

在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处?

IOS - 从 UITextView 中删除所有填充

Objective-C 将 NSDate 设置为当前 UTC

如果我的分发证书过期会怎样?

以编程方式确定 iPhone 是否越狱

如何为 NSDate 添加一个月?

iOS13状态栏背景 colored颜色 与大文本模式下的导航栏不同