xcode 部署目标是什么意思?

50pmv0ei  于 2023-03-24  发布在  其他
关注(0)|答案(4)|浏览(225)

这是一个我假设的非常简单的问题。有人能告诉我部署目标是什么意思吗?如果我选择iOS 10,这是否意味着只有iOS 10的用户才能下载应用程序?选择较低的部署目标是否不好?此外,继续部署目标,是否不建议在较低的部署目标上运行?

yqlxgs2m

yqlxgs2m1#

假设您已将最低部署目标设置为iOS 9。这意味着您的应用程序兼容iOS 9及以上设备。
该应用程序无法在低于9.0的设备上运行,但可以在任何高于iOS 9.0的iOS版本上运行。

k2arahey

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既不与我们合作,也不以任何形式向我们付费,您可以寻找其他替代者。

vlju58qv

vlju58qv3#

iOS部署目标(IPHONEOS_DEPLOYMENT_TARGET)

Deployment Target是您的目标支持的最低版本的iOS。
这意味着:

  • 作为开发人员,您支持此版本,并且能够支持所有后续兼容性
  • 作为用户,您应该至少拥有此版本的iOS

在Xcode 11.5中更改

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

fv2wmkja4#

如果你是Xcode的新手,我建议你接受默认值,并把它看作是你项目的一个约束。
随着Xcode新版本的沿着,对旧目标值的支持将被删除。拥有广泛客户群的公司必须以自己的方式处理这个问题。
在我参与的大多数项目中,iOS版本很重要,因为它决定了哪些设备可以运行你的应用程序。
例如,iOS 10基本上留下了所有iPod风格的连接器。

相关问题