部署目标是啥意思?
Posted
技术标签:
【中文标题】部署目标是啥意思?【英文标题】:What does deployment target mean?部署目标是什么意思? 【发布时间】:2017-05-07 19:10:07 【问题描述】:这是我假设的一个非常简单的问题。谁能告诉我部署目标是什么意思。如果我选择 ios 10,是否意味着只有 iOS 10 的用户才能下载该应用程序。选择较低的部署目标是不是很糟糕?另外,继续部署目标,不建议在较低的部署目标上运行。
【问题讨论】:
看到这个问题:***.com/questions/18568572/… What's the meaning of Base SDK, iOS deployment target, Target, and Project in xcode的可能重复 【参考方案1】:假设您已将最低部署目标设置为 iOS 9。 这意味着您的应用程序与 iOS 9 及以上设备兼容。
该应用程序无法在低于 9.0 的设备上运行,但可以在高于 iOS 9.0 的任何iOS 版本上运行。
【讨论】:
低版本用户至少在应用商店还能看到应用吗? @Sagrian 是的,他们可以,但它会告诉他们它与他们的设备操作系统不兼容 部署目标和信息有什么区别? Xcode 让我们在 2 个地方选择一个 ios 版本。 @DanielSpringerDeployment Target
中的设置最终会更改 Info.plist。这是在 Xcode 4.x 之后(可能)添加的一种便捷方式
@NaveedAbbas 很抱歉,但我不明白这是怎么回答的。为什么是两个地方?各自的用途是什么?【参考方案2】:
如果您是 Xcode 新手,我建议您接受默认设置,并将其视为对您项目的约束。
随着更新的 Xcode 版本的出现,对旧目标值的支持将被删除。拥有广泛客户群的公司必须以自己的方式处理这个问题。
在我参与的大多数项目中,iOS 版本很重要,因为它决定了哪些设备可以运行您的应用程序。
例如,iOS 10 基本上抛弃了所有 iPod 风格的连接器。
【讨论】:
赞成:“来自战壕”的有用信息。更适合作为评论,但尽管如此。 我宁愿做一个声望稍低的实用主义者。刚接触 Xcode 需要消化很多东西。【参考方案3】:部署目标决定了您的应用在旧 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) 不适用于较低 iOS 版本的较新 API
2) 使用不适用于较新 iOS 版本的已弃用方法。
这是您开始修复代码以使其可用于较低 iOS 版本以获得最大兼容性的时候。
注意: Xcode 还告知了几个陷阱。 Deploymate 既不与我们有关联,也不以任何形式向我们付款。您可以寻找其他替代品。
【讨论】:
【参考方案4】:iOS 部署目标(IPHONEOS_DEPLOYMENT_TARGET)
Deployment Target
是您的目标支持的最低版本的 iOS。
意思是:
作为开发人员,您支持此版本,并且能够支持所有下一个兼容性 作为用户,您至少应该拥有此版本的 iOS在 Xcode 11.5 中更改它
Build Settings -> iOS Deployment Target
//.pbxproj
IPHONEOS_DEPLOYMENT_TARGET
【讨论】:
以上是关于部署目标是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章