我有一个应用程序,我在商店,它支持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位二进制文件?并将每个版本单独提交给商店?
答案 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。