部署目标确定您的应用在较旧的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,也可以下载您的应用程序)。
4条答案
按热度按时间yqlxgs2m1#
假设您已将最低部署目标设置为iOS 9。这意味着您的应用程序兼容iOS 9及以上设备。
该应用程序无法在低于9.0的设备上运行,但可以在任何高于iOS 9.0的iOS版本上运行。
k2arahey2#
部署目标确定您的应用在较旧的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)更高的Swift版本(5.0)需要更高的部署目标,而不是在传统的Objective C)
!Needs citation
中编写应用程序。解决方案
我们一直在使用Deploymate来提供最大的向后支持。它主要帮助我们警告以下内容:
1)较新的API在较低的iOS版本上不起作用
2)使用在较新的iOS版本上不起作用的弃用方法。
这是您开始修复代码以使其可用于较低的iOS版本以获得最大兼容性的时候。
**注意:**Xcode也告知了几个陷阱,Deploymate既不与我们合作,也不以任何形式向我们付费,您可以寻找其他替代者。
vlju58qv3#
iOS部署目标(IPHONEOS_DEPLOYMENT_TARGET)
Deployment Target
是您的目标支持的最低版本的iOS。这意味着:
在Xcode 11.5中更改
fv2wmkja4#
如果你是Xcode的新手,我建议你接受默认值,并把它看作是你项目的一个约束。
随着Xcode新版本的沿着,对旧目标值的支持将被删除。拥有广泛客户群的公司必须以自己的方式处理这个问题。
在我参与的大多数项目中,iOS版本很重要,因为它决定了哪些设备可以运行你的应用程序。
例如,iOS 10基本上留下了所有iPod风格的连接器。