Apple is deprecating Xcode 12. What does this mean for you?
Apple recently announced that starting from April 25, 2022, all iOS or iPadOS apps you submit to the App Store need to be built with Xcode 13 (or later). This means that Xcode 12 is now deprecated, and people using Xcode 12 or older can no longer publish their apps to the App Store without upgrading their Xcode version.
Each year, Apple decides to deprecate the older version of Xcode and stop allowing apps built with it to be uploaded to the store. For iOS developers with some experience, this occurrence comes as no surprise.
To continue publishing apps to the App Store, you’ll need to upgrade your Xcode version to Xcode 13+. At the time of writing, the latest stable version of Xcode is 13.3.1.
Using Xcode 12
However, this does not mean that Xcode 12 has immediately become obsolete.
Enterprises that never intended to publish their apps to the App Store and have been distributing them internally using mobile device management solutions can continue to use Xcode 12 to build their apps and distribute them the same way.
Xcode 12 support on Codemagic
Does the fact that Apple is deprecating Xcode 12 mean that Codemagic will do so as well? No. Our customers use Xcode 12 for their needs, and we do not plan on abandoning them or forcing them to switch.
Everyone using Codemagic can continue to use Xcode 12 in the Workflow Editor or by specifying the version in the codemagic.yaml
configuration file:
xcode: 12.5
Codemagic has – and will continue to have – build machines with Xcode 12.0-12.4, as well as with Xcode 12.5. We even still have some with Xcode 11. You can successfully build with the given Xcode versions; however, expect that pipelines will fail at the publishing steps if you try to submit your apps to the App Store.
You can find Codemagic’s policy towards Xcode version update in the docs. To put it short, we support three major Xcode versions (latest + two older ones) and all minor versions for the latest + latest minor versions for the two older ones.
The deprecation would mean that we would not be adding new build machines with Xcode 12 or older to our pool. The number of machines with Xcode 12 versions would not be changing. But, we do not expect queues, as the number of teams using Xcode 12 is relatively low.
Conclusion
For projects that need to be published to the App Store, we suggest using build machines with Xcode 13.0–13.2 or Xcode 13.3+.
We have recently introduced M1 Mac mini build machines that are only available with Xcode 13.3+.
You can use Xcode 13.3.1 by specifying xcode
as latest
or edge
in codemagic.YAML
. If you have any questions or want to share your experience, join our Slack community or mention @codemagicio on Twitter!