我最近将我的应用程序的测试版本上传到iTunes Connect,第二天收到了这封电子邮件:
我们发现您最近交付的一个或多个问题 “MyApp的”。您的交付成功,但您可能希望更正 您下次发货时遇到以下问题: 缺少64位支持 - 从2015年2月1日开始,新的iOS应用程序将提交到App Store 必须包含64位支持,并使用iOS 8 SDK构建。开始 2015年6月1日应用更新也需要遵循相同的规定 要求。要在项目中启用64位,我们建议使用 默认Xcode构建设置“标准体系结构”来构建一个 单个二进制文件,包含32位和64位代码。 纠正问题后,您可以使用Xcode或Application Loader 将新二进制文件上传到iTunes Connect。
我最后一次发布时,我无法上传应用程序,直到我修复64位版本,所以我知道没关系,但我仍在构建iOS 5 SDK,因为我们的应用程序仍然支持它。如果我更改为iOS 8 SDK的构建,这将阻止我的应用程序适用于旧版本的iOS吗?如何判断新功能是否仍可在iOS 5上运行?
答案 0 :(得分:2)
您应该始终针对最新的SDK进行编译,该SDK目前(2015年3月)是iOS 8 SDK。
您要设置的是“部署目标”。部署目标指定应用程序声称要运行的最低iOS版本。部署目标对应于__IPHONE_OS_VERSION_MIN_REQUIRED宏,顺便说一句。
因此,您可以针对iOS 8 SDK进行编译,同时将项目的部署目标设置为“5.0”(或“5.1”或其他)。虽然在iOS 5设备上运行时不使用iOS 8功能,但必须小心,因为它会使应用程序崩溃。我经常使用-respondsToSelector:
方法来测试函数的可用性。 +很多调查文档。 +在旧设备上进行大量测试。
答案 1 :(得分:0)
当您更新到iOS8 SDK时,某些功能将无法像推送通知和位置服务那样工作。因此,您需要相应地管理该部分。