Xcode target Deployment Target vs. project Deployment Target

前端 未结 3 1615
情书的邮戳
情书的邮戳 2020-12-13 12:33

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

3条回答
  •  [愿得一人]
    2020-12-13 12:42

    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:

    • you can use all APIs from major version,
    • your users can download the app only if they have at least "Deployment target" version installed
    • you can use APIs up until the "Base SDK" version
    • APIs above "Base SDK" version are not available to you in your project

提交回复
热议问题