Xcode 5,iOS7和64bit与32bit

时间:2013-09-25 17:58:35

标签: iphone ios xcode ios7

我有一个应用程序,我在商店,它支持iOS 6 +上的32位(iPhone 4+)

我现在也有iPhone 5S,我现在正在使用Xcode 5。

我能够在iOS 7下成功运行我的应用程序,只需最少的调整,只需一个状态栏。

我现在想要发布一个支持iOS 7的版本(用于tableviews / controls的外观和感觉),但也为我当前的用户支持iOS 6。

我如何建立起来,以便与iOS 6和iOS 7兼容?

我是否必须为iOS 7单独提交iOS六版本和单独的二进制文件?

另外,我想支持iPhone 5S中的 64位CPU /架构,我该如何支持?

查看乐器我的应用程序仍然是32位甚至在iPhone 5s上运行,

我是否必须构建单独的iOS 6,iOS 7和iOS 7 64位二进制文​​件?并将每个版本单独提交给商店?

2 个答案:

答案 0 :(得分:4)

从Apple发行说明:

https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-7.0/

  

您现在可以使用iOS 7提交适用于iOS 7的64位应用程序   iPhone 5s的强大功能。 Xcode可以使用32位和32位构建您的应用程序   包含64位二进制文​​件,因此它适用于运行iOS 7的所有设备。   如果您希望继续支持iOS 6,那么您需要构建   仅限32位。下个月我们将进行更改,以便您可以   创建一个单独的应用程序二进制文件,支持iOS 6上的32位,以及   iOS 7上的32位和64位。

我猜你必须为每个版本(iOS 6 32位,iOS 7 32位,iOS 7 64位)编译不同的二进制文件,直到下个月更新。

答案 1 :(得分:3)

您需要检查Xcode构建设置。

第一个重要设置是ARCHS,您可以在其中指定是仅32位,32 + 64位还是仅64位。 32位适用于任何地方,包括iPhone 5s。 32 + 64位意味着您的应用程序在iPhone 5s上运行得更快。

第二个重要设置是IPHONEOS_DEPLOYMENT_TARGET。这是您的应用运行的最低iOS版本。如果是6.0,您的应用将无法在iOS 5上运行。如果是7.0,您的应用将无法在iOS 5或iOS 6上运行。

第三个重要设置是SDKROOT。那是你正在使用的SDK。 Apple希望您将7.0 SDK用于任何新应用。

如果部署目标= 6.0,SDK = 7.0,则必须注意不要在运行iOS 6的iPhone上使用任何7.0的代码。因此,您必须编写类似“if(iOS 7功能可用)”的代码{使用iOS 7功能}否则{使用iOS 6功能}“,只要您想支持iOS 6。