我假设这是一个非常简单的问题。有人可以告诉我部署目标是什么意思。如果选择IOS 10,是否意味着只有具有iOS 10的用户才能下载该应用程序。选择较低的部署目标是否不好?还建议继续在部署目标上运行,不建议在较低的部署目标上运行。
我假设这是一个非常简单的问题。有人可以告诉我部署目标是什么意思。如果选择IOS 10,是否意味着只有具有iOS 10的用户才能下载该应用程序。选择较低的部署目标是否不好?还建议继续在部署目标上运行,不建议在较低的部署目标上运行。
Answers:
假设您已将最低部署目标设置为iOS9。这意味着您的应用程序与iOS 9及更高版本的设备兼容。
该应用程序将无法运行在低于9.0的设备,但可以在任何的iOS版本上运行更多的比的iOS 9.0。
Deployment Target
最终将更改Info.plist。这是(可能)在Xcode 4.x之后添加的一种便捷方法
部署目标确定您的应用在旧版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)使用最新的iOS SDK(单独)
2)使用最新的iOS SDK特定功能(约束,较新的XIB文件等)。
3)使用快速适应的外部库/框架(例如Facebook SDK,Firebase等)。
4)与在旧版Objective C中编写应用程序相比,更高的Swift版本(5.0)需要更高的部署目标!Needs citation
。
解
我们一直在使用Deploymate获得最大的后向支持。它主要帮助我们警告以下内容:
1)较新的API在较低的iOS版本上不起作用
2)使用不推荐使用的方法,这些方法不适用于更新的iOS版本。
这是您开始修复代码以使其可用于较低iOS版本以实现最大兼容性的时候。
注意: Xcode还提供了一些陷阱。Deploymate既不与我们联系,也不以任何形式向我们付款。您可以寻找其他替代品。
如果您不熟悉Xcode,建议您接受默认值,并将其视为对项目的约束。
随着更新的Xcode版本的到来,将不再支持较早的目标值。拥有广泛客户基础的公司必须以自己的方式解决此问题。
在我从事的大多数项目中,iOS版本都很重要,因为它决定了哪些设备可以运行您的应用程序。
例如,iOS 10本质上落后于所有iPod风格的连接器。