iosswift3ios13appstore-approvalminimum-requirements

iOS April30 (extended to June30) 2020 Requirements -- iOS 13 SDK, All-Screen Design, Launch Storyboard, Swift3


April2020 Update

As of April/2/2020 and due to COVID-19 pandemic, Apple extended the deadline for the new guidelines that enforces iOS13 and Swift 4.x from April 30 to June 30 of 2020. This was announced on their developer website.

Important

Apple is deprecating Swift 3.x, codebases written in Swift 3.x must be updated to (at least) Swift 4.x. It is not possible to deploy to AppStore from a Swift 3.x project starting April 2020.

See Edit #1 & Edit #2 for explanation.


According to this update from Apple:

Starting April 2020, all new apps and app updates will need to be built with the iOS 13 SDK and support the all-screen design of iPhone XS Max or later.

I have already checked matt's answer here back from July, but there are few missing points that need to be elaborated.

  1. Does this requirement force developers to use Swift 5? we have a couple huge Swift 3 projects with many third-party dependencies. It's a hassle to update those projects to Swift 5.
  2. Just to confirm matt's answer, can we use the newest Xcode release yet target iOS11 and up?
  3. From a developer's point of view in support of maintainability and less platform-specific code, is it more logical to target iOS13 and up for using new features like SwiftUI and dark mode?

EDIT #1

As per DaVinci's answer, everything he/she said is true except for point #1.

  1. No you can still set the Swift version in the Build settings.

Unfortunately all Xcode versions following 10.1 does not support Swift 3.x. So legacy codebases with their third-party dependencies are to migrate from Swift 3.x to Swift 4.x.

Minimum supported version for Xcode versions after 10.1 is Swift 4.x.

EDIT #2 -- IMPORTANT!

This is bad. According to @matt's answer it's not possible to target iOS 13 with Xcode 10.1. With this and Edit #1 in mind, it's not possible to work on Swift 3.x or target iOS 13 with Xcode versions following 10.1. In short Apple is deprecating Swift 3.x.


Solution

    1. Swift 3.0 is being deprecated by Apple, you will need to use at least 4.0 from April 2020

    2. Yes, exactly as with the Swift version you can target an older version of iOS with the latest Xcode.

    3. You can only target 13 and up for those features as the APIs are not included in any older version.