如何将Xcode 32位应用程序转换为64位Xcode应用程序

10

我已经将Xcode更新为iOS 8.1的6.1版本,现在想要在项目的“构建设置”中进行设置。

如何更改32位Xcode项目的架构和有效架构以将其转换为64位支持?

以前,32位Xcode项目的设置如下: 架构:标准架构(armv7 arm64) 有效架构:armv64 armv7 armv7s

现在,当我将架构设置更改为... 架构:标准架构(包括64位)...如developer.apple.com上所述。 有效架构:armv64 armv7 armv7s

因此,该应用程序可以在安装有iOS 8.1.3版本的设备上运行。

我想知道,当我写入 有效架构:arm64 armv7 armv7s时,在我用于iOS 4.2.3的flurry sdk中会显示错误。

但是,当我写入 有效架构:armv64 armv7 armv7s时,没有错误显示,应用程序正常运行。

我知道,我需要更新所有库以支持64位,例如flurry sdk等。

但是,请有人依次告诉我如何将32位Xcode应用程序转换为64位应用程序。

另外,如何使用终端命令了解项目中使用的库的架构。

谢谢。


可能会有帮助:https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html - Bas
2
在终端中使用“file <nameOfLib.a>”命令来检查 .a 文件的架构。 - Peter Segerblom
2个回答

30

应该是 arm64 而不是 armv64。

enter image description here

为了解释这些:

架构: 第一步是将架构设置为“标准架构”(苹果推荐)。这意味着构建32位和64位架构。这会将您的更改为iOS5.1.1,需要您确认。

有效架构: 指定要构建的架构:
armv7和armv7s适用于32位设备。
arm64适用于64位设备。

仅构建当前架构: 这是指定是构建所有有效架构还是仅构建指定目标的选项。因此,在Debug中将其设置为Yes,因此它仅构建当前架构(如果是iPhone 5,则为32位,如果是iPhone 5s,则为64位)。对于发布,请将其设置为No。(为发布构建所有架构)。

苹果关于64位转换的建议


2
  1. 在Xcode中打开您的应用项目(版本需为5.0.1或更高版本)。
  2. 更新项目设置以支持iOS 5.1.1或更高版本。
  3. 在项目设置的构建设置部分,将标准架构(arm64)设置为架构。
  4. 以上更改可能会导致项目中出现一些编译器警告和错误。
  5. 除了iOS模拟器外,在64位设备上测试项目。
  6. 利用Instruments检查您的应用程序的内存使用情况。

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