Xcode 8建议我将最小iOS部署目标从7.1更改为8.0。

43
当我使用Xcode 8 beta(8S128d)打开我的项目时,它建议我将最小的iOS部署目标更改为8.0而不是7.1。并且我发现在iOS部署目标列表中没有低于8.0的选项。Deployment Target因此,这是否意味着我不再需要调整我的项目来适配iOS 7.x或更早版本?
4个回答

56

如果该应用有很多使用iOS 7的用户,那么调整项目以支持iOS 7是必要的。

我已经尝试使用Xcode 8 Beta(8S128d)构建、调试和存档,并设置部署目标为7.0。
所有操作都成功了。也成功地将ipa导出并安装到我的iPhone 4上(iOS 7.1.2(11D257))。

为了更改项目的部署目标并删除建议警告,我做了以下事情:

  1. 在“iOS部署目标”文本框中手动输入“7.0”。 手动更改iOS部署目标

  2. 取消“更新iOS部署目标”的选中状态,然后按“执行更改”/“完成”按钮,这样即可消除推荐建议的警告。 推荐建议



编辑:

使Xcode 8.x可以在iOS 7.x设备上调试您的应用程序。

  1. 您需要Xcode 7.x。您可以从苹果开发者网站下载它。

  2. 打开Finder,然后转到Xcode 7.x.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/”。

  3. 复制7.0”和“7.1”文件夹,并将它们粘贴到“Xcode 8.x.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/”中。

在此输入图片描述

  1. 打开 "Xcode 8.x.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist" 文件。

在此输入图片描述

  1. 添加值 "7.0" 和 "7.1" 到键 "Root/DefaultProperties/DEPLOYMENT_TARGET_SUGGESTED_VALUES" ,请参考下面的屏幕截图。

在此输入图片描述

  1. 重启 Xcode 8.x

  2. 现在您可以在 "iOS 部署目标" 文本框列表中选择 "7.0" 或 "7.1" 并在 iOS 7.x 设备上调试您的应用程序。


为了检查是否可行,我想我们应该将IPA文件上传到iTunes Connect,在处理二进制文件后等待反馈。 - Giuseppe Roberto Rossi
17
使用 Xcode 8 GM,我手动将我的部署目标更改为 7.0,我的应用已被批准发布,iOS 7 的用户可以安装它。因此我可以确认这个解决方案是有效的。 - arlomedia
为了在iOS 7上进行测试,在将应用程序存档到组织者(准备上传到App Store的相同步骤)之后,打开组织者,在右侧面板上单击“导出...”。然后选择“保存以进行开发部署”,并通过对话框。选择“为所有兼容设备导出一个应用程序”。您将获得一个IPA文件。连接您的iOS 7设备,在Xcode中打开“设备”。然后将IPA拖到您的iOS 7设备上。 - John Pang
如果“更新推荐设置”根本没有显示怎么办? - Himanth
@Nij 我不知道。也许只需将 Xcode 升级到 8.2 :) - Leon
显示剩余3条评论

5

Xcode 8的最低部署目标是iOS 8。如果要支持目标为iOS SDK 7.x及以下版本,请使用Xcode 7。

如果您尝试使用iOS 7.x或更低版本的部署目标,Xcode将建议您将目标更改为iOS 8:

Xcode Warning


如果您运行的是Mac OS Sierra操作系统,则无法启动Xcode 7.x,因为由于缺少库文件而导致其在启动时崩溃。 - LightningStryk

3
自iOS 7以来,苹果公司已经发生了很大变化。不必处理向后兼容性的最简单方法是使旧操作系统过时。因此,您有两个选择。您可以将设置保留为原样并处理警告消息,或者更改设置并不再支持iOS 7或更低版本。每种选择都有利弊...
保留设置:如果您选择将Min OS设置保留为原样,则您的应用程序将拥有更多的用户群体。但由于新操作系统的采用率非常高,这在iOS设备上不像在Android设备上那么重要。您还需要处理对iOS 7的支持。也就是说,如果您决定使用iOS 7中不可用的任何新功能,则必须处理iOS 7的情况。可能会出现应用程序崩溃、UI不一致等问题...
更改设置:如果您选择更改设置,则不再需要支持iOS 7(您可以使用新功能创建更简单和更一致的代码)。您还会稍微缩小客户群体(非常微小)。
您可以自行决定,但实际上,几乎所有能运行iOS 7的设备也能运行iOS 8。因此,如果他们想要您的应用程序,他们只需升级操作系统即可(不像iPad 1停留在iOS 5)。我的客户都是需要通过大量繁琐程序才能升级设备的大型企业。因此,我必须支持iOS 7(现在,xCode 8可能会让我说服那些没有升级的人升级)。

1
你可以保留当前设置并处理警告信息,但是Xcode 8不支持iOS 7 SDK的构建,你不能忽略这个警告。你的应用程序将无法在iOS 7上构建或运行。 - JAL
@JAL 很好知道。我会改变我的答案。 - Putz1103
7
并非所有运行iOS7的设备都能升级到iOS 8。没有"S"的iPhone 4无法运行iOS 8。 - Da Maex
1
而且,运行iOS 7的设备实际上无法升级到iOS 8,它们必须升级到iOS 9,很快将不得不升级到iOS 10。这为那些在技术上支持最新iOS版本但性能表现较差的旧设备用户带来了问题。 - arlomedia
1
@Putz1103,我刚刚构建了一个部署目标为7.0的应用程序(因此出现了这个警告),但它确实已经构建成功了。它被签名用于企业内部分发,并在iOS 7.1.3测试手机上运行,就我所知一切都正常。我只是不知道这个应用程序是否可以提交到App Store。 - CodeReaper
在Xcode 8.3.2中使用6.0的部署目标进行构建是可以正常工作的。构建的IPA可以安装在iOS 8.0之前的设备上,并且可以正确运行。这些构建现在已经在应用商店上线并且可以正常工作。您可以取消注释设置部分,因为这是完全有效的。唯一的问题是您无法使用Xcode 8在低于iOS 8.0的设备上进行调试。 - Danny Parker

1
如果您不想费力地使用XCode,只需为iOS 6或7更新您的项目文件。
右键单击 .xcodeproj 选择“显示包内容”,然后在喜爱的文本编辑器中编辑 project.pbxproj。
搜索 IPHONEOS_DEPLOYMENT_TARGET = 7.0;。

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