What does deployment target mean?
Asked Answered
F

4

182

This is a very simple question I'm assuming. Can someone tell me what deployment target means? If I choose iOS 10, does that mean only users with iOS 10 can download the app? Is it bad to choose a lower deployment target? Also, continuing on deployment target, is it not recommended to run on a lower deployment target?

Fachanan answered 22/12, 2016 at 8:4 Comment(2)
see this question: stackoverflow.com/questions/18568572/…Majorette
Possible duplicate of What's the meaning of Base SDK, iOS deployment target, Target, and Project in xcodeTrampoline
H
223

Lets say you have set minimum deployment target to iOS 9. This means your application is compatible for iOS 9 and above devices.

The application won't run on below 9.0 devices but can run on any iOS version greater than iOS 9.0.

Hornbeam answered 22/12, 2016 at 8:15 Comment(3)
Can user with lower version still see the app at least on app store?Ira
@Ira Yes they can, but it will show them that it is not compatible with their device OSNelidanelie
So unlike in Android, "deployment target" actually means "MINIMUM deployment target" and they just omited the first word? (in Android, target and minimum are two different things)Malka
L
29

The deployment target determines your app's ability to run on older iOS versions.

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

When a new version of iOS is released, some people do not bother to update their devices to the latest iOS version and thus they can't download your app from the App Store.

Example

If you choose higher deployment target (e.g 12.1), your app won't be able to download for the people who even have latest devices but have older iOS version (iPhone X with 11.0). In Contrast If you choose lowest possible deployment target (e.g 6.0), you try to make your app maximum backward compatible (so even if someone hasn't updated their iOS in ages will be able to download your app).

CAUTION

Many (almost all) newer frameworks and features won't be able to run properly (Behave as expected) on lower iOS versions which increases the chances of app crashes.

What Affects Deployment Target

Following are few factors that demands higher deployment target.

1) Using latest iOS SDK (alone)

2) Using latest iOS SDK specific features (Constraints, newer XIB files etc).

3) Using fast adapting external libraries / Frameworks (e.g Facebook SDK, Firebase etc).

4) Higher Swift Version (5.0) requires higher deployment target vs writing your app in legacy Objective C) !Needs citation.

SOLUTION

We have been using Deploymate for maximum backward support. It mainly assists us about warning the following:

1) Newer APIs that won't work on lower iOS versions

2) Using deprecated methods that won't work on newer iOS versions.

This is when you start fixing your code to make it available for lower iOS versions for maximum compatibility.

Note: Xcode also informs about several pitfalls. Deploymate is neither associates with us or pay us in any form. You can look for other alternates.

Lollop answered 6/2, 2019 at 14:52 Comment(0)
H
10

iOS Deployment Target(IPHONEOS_DEPLOYMENT_TARGET)

Deployment Target is a minimum version of iOS which is supported by your target.

It means that:

  • as a developer you support this version and you are able to support all next compatibility
  • as a user you should have at least this version of iOS

To change it in Xcode 11.5

Build Settings -> iOS Deployment Target
//.pbxproj
IPHONEOS_DEPLOYMENT_TARGET
Headway answered 31/8, 2020 at 13:16 Comment(0)
S
2

If you are new to Xcode, I suggest accepting the default, and thinking of it as a constraint on your project.

As newer of Xcode versions come along, support for older target values will be removed. Companies that have extensive customer bases have to deal with this problem in their own way.

In most projects I have worked on, the iOS version matters because it dictates which devices can run your application.

For example, iOS 10 essentially left behind all iPod-style connectors.

Sager answered 9/9, 2017 at 5:21 Comment(2)
Upvoted: useful info “from the trenches”. Would be more suitable as a comment, but nevertheless.Berthoud
I'd rather be a pragmatist with a slightly lower rep. Being new to Xcode is a lot to digest.Sager

© 2022 - 2024 — McMap. All rights reserved.