部署目标是什么意思?

这是个很简单的问题。谁能告诉我部署目标是什么意思。如果我选择 IOS 10,这是否意味着只有使用 IOS 10的用户才能下载这个应用程序。选择较低的部署目标是否不好?另外,继续部署目标,不建议在较低的部署目标上运行。

101400 次浏览

假设您已经将最小部署目标设置为 iOS9。 这意味着您的应用程序与 iOS9和 以上设备兼容。

该应用程序不能在 下面9.0设备上运行,但可以在任何 iOS 版本的 更伟大上运行,而不是 iOS 9.0。

如果您是 Xcode 的新手,我建议您接受默认设置,并将其视为对项目的约束。

随着更新的 Xcode 版本的出现,对旧目标值的支持将被删除。拥有广泛客户基础的公司必须以自己的方式处理这个问题。

在我参与的大多数项目中,iOS 版本很重要,因为它决定了哪些设备可以运行您的应用程序。

例如,iOS10基本上抛弃了所有 iPod 风格的连接器。

部署目标决定了应用程序在旧版本 iOS 上运行的能力。

App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.

当一个新版本的 iOS 发布时,一些人不会费心去更新他们的设备到最新的 iOS 版本,因此他们会选择 can't download your app from the App Store

例子

如果您选择更高的部署目标 (e.g 12.1),您的应用程序将无法下载的人,甚至有最新的设备,但有旧的 iOS 版本(iPhone X 与11.0)。如果你选择尽可能低的部署目标 (e.g 6.0),你会尝试让你的应用程序最大限度地向后兼容(因此,即使有人很久没有更新他们的 iOS 系统,也可以下载你的应用程序)。

注意

许多(几乎所有)较新的框架和特性不能在较低的 iOS 版本上正常运行(如预期的那样) ,这增加了应用程序崩溃的可能性。

影响部署目标的因素

以下几个因素需要更高的部署目标。

1)单独使用最新的 iOSSDK

2)使用最新的 iOS SDK 特定功能(约束,新的 XIB 文件等)。

3)使用快速适应的外部库/框架(例如 Facebook SDK、 Firebase 等)。

4)较高的 Swift 版本(5.0)要求较高的部署目标,而不是使用遗留的 Objective C 编写应用程序) !Needs citation

解决方案

我们一直在使用 部署人员进行最大程度的后向支持。它主要帮助我们警告以下内容:

1)较新的 API,不能在较低的 iOS 版本上工作

2)使用不适用于新版本 iOS 的过时方法。

这是当你开始修复你的代码,使它可用于较低的 iOS 版本的最大兼容性。

注意: Xcode 还提供了一些陷阱。部署人员既不是我们的同事也不是以任何形式支付给我们的。你可以找其他替补。

IOS 部署目标(IPHONEOS _ DEPLOYMENT _ TARGET)

Deployment Target是目标用户支持的 iOS 的 最低限度版本。

这意味着:

  • 作为一个开发人员,你支持这个版本,并且你能够支持所有下一个兼容性
  • 作为一个用户,你至少应该拥有这个版本的 iOS

在 Xcode 11.5中修改它

Build Settings -> iOS Deployment Target
//.pbxproj
IPHONEOS_DEPLOYMENT_TARGET