Excuse my ignorance, but what is the difference in Xcode between the Deployment Target field under \"Targets\" and the deployment target under \"Project\"?
What happ
UPDATE: As clarified by mr. @Edward, the version at "project" level serves as default, whereas the version at "target" level overrides the default value.
Actually it's written in the Apple docs:
"Target settings override project settings."
The Base SDK is not related to any of this.
Original post:
Looking at the link form Apple docs ... Looks like when you set the version at "target" level you specify the minimum required version that a user can have to run your app.
On the other side, by setting the version at "project" level you specify what SDKs are available to you when you're developing. So if an API is available only to the latest version you get a compiler error notifying you that you have to handle the behaviour for missing API differently (probably using #available
or @available
).
This is how I understand the above image: