Select Page

Managing Xcode

What is Xcode?

Xcode is Apple’s app building software. When you build apps for iOS with Scripture App Builder, you must build them with a macOS device, and you use (but do not interact with) Xcode – SAB uses Xcode command line tools in the background. The SAB documentation has us use the Xcode version from the Mac App Store, and this is the easiest way to do it but has some limitations.

Apple is in the hardware business, and that means getting users to upgrade. One way they do that is to steadily increase in a few ways the version of iOS devices need to be running to install and update apps in the App Store. 

For example, as of this writing, in September 2025,

  • Since April 24, 2025 Apps uploaded to App Store Connect must be built with Xcode 16 or later.

  • Xcode 16 will only build for iOS 15 and up.

  • So that means that anyone who has a device limited to iOS 14 and below will not be able to install or update your app.

Current and upcoming Xcode requirements:

All iOS and iPadOS apps uploaded to App Store Connect must be built with a minimum of Xcode 16. Starting April 28, 2026, all iOS and iPadOS apps uploaded to App Store Connect must be built with Xcode 26 & macOS 26.

source

And this enforced iOS minimum version creep continues each year. Apple controls this forced iOS increment at the App Store level, but also at the Xcode level – if you have automatic updates turned on, your Xcode will automatically update, your Mac will automatically update to the latest version of macOS, which then limits which versions of Xcode you can run, all of which limits which versions of iOS you can build for.

We as app builders can’t control all levels of this, but we can do a couple of things to make sure we’re building for the largest number of users, which is just make sure we’re building with the oldest version of Xcode that the App Store will accept so the lowest iOS levels possible will be included.

First things first:

Delay macOS upgrade

You should usually delay upgrading your macOS version. Usually the fall release of macOS requires the next version of Xcode, which pushes you to an update to Xcode, which pushes your minimum iOS version up.

[September 2025’s macOS 26 update breaks this pattern – you can install Xcode 16.4 on macOS 26.]

In general just wait til April, the normal App Store forced upgrade cycle, to upgrade your macOS and upgrade Xcode along the way.

To do this you must stop your Apple computer from automatically updating:

In System Settings, General, Software Update, click on the info icon next to “Automatic Updates” and uncheck “Install macOS updates”.

See this chart below for a recommended upgrade timeline. 

Stop your mac from automatically updating the OS! In System Settings, General, Software Update, click on the info icon next to “Automatic Updates” and uncheck “Install macOS updates”.

Date Apple Requirement / Release Recommended Action Why This Timing Works
Fall 2025 – Mar 2026 App Store requires iOS 18 SDK (Xcode 16) min iOS 15 Stay on Xcode 16.4 with either macOS 15.7 or macOS 26 Keeps you on the minimum required SDK, reducing risk of using APIs that drop older device support.
Apr 2026 (expected) Likely bump to iOS 26 SDK (Xcode 26) for submissions min iOS 16 Update to Xcode 26 on macOS 15.x or early macOS 26 if stable You’ll be exactly one SDK ahead of your minimum deployment target, still safe for older devices.
Mid–Late 2026 macOS 26 (Tahoe) matures (26.1 / 26.2) Move to macOS 26 + Xcode 26 By now, early bugs are fixed, and you can still set deployment target well below iOS 26.
Apr 2027 (expected) Likely bump to iOS 27 SDK (Xcode 27) for submissions min iOS 17 Update to Xcode 27 on macOS 26 Keeps you aligned with App Store rules without jumping too far ahead.
Late 2027 macOS 27 releases Hold off until after Apr 2028 SDK bump Avoid adopting SDKs 2+ years ahead of requirement.
Apr 2028 (expected) Likely bump to iOS 27 SDK (Xcode 27) for submissions min iOS 18 Update to macOS 27 + Xcode 27 Keeps you current while still supporting older devices.

Delay Xcode upgrade

There’s a window each year where the new Xcode version is out but not required by the App Store. Delaying the upgrade to Xcode will help your users with older devices be able to install and upgrade. There are a couple of ways of doing this – but only if the version of Xcode you need to support older devices works with your macOS version (see above).

Manually install Xcode

Instead of installing Xcode from the App Store, install from this site the lowest version that the App Store will accept.

(If you’ve already Xcode installed, you can uninstall the App Store version).

First check out this page to see what the current Xcode requirement is – search for “minimum requirements”.

Then go to this page to grab that minimum version.

https://xcodereleases.com/

It will not auto-update, so you’ll have to manually update it when the requirement changes. You’ll know when Transporter rejects your build for not being up to date with the requirement.

Xcode version control

There is another way of installing and tracking Xcode which allows you to keep several versions around for testing or if you are using Xcode for other kinds of projects outside of SAB. 

The Xcodes app (not to be confused with Xcode itself) allows you to manage your Xcode installations. You can install one or a few versions. 

Below you can see that when I took this screenshot I had 16.4 installed, with Xcode 26 available. 

When you add a new version of Xcode, you can make it the active version by clicking on Make Active on the right pane after selecting that version. Below clicking on Make Active would make 15.3 the version that SAB uses when building. 

Wrapping up

iOS creep is a headache that Apple is creating for us needlessly – and long term there is no solution as eventually the App Store requirements will catch up with us each year, but we can at least widen the update window for our users while still taking advantage of macOS security and feature updates.

 

brown and white track field

Getting your bearings in digital: Where do I start?

So you're convinced - your team should start to develop a digital strategy. What are the first steps? Be realistic about today Not every country has the majority of the population connected to the internet. Even where the vast majority of the population is connected,...
pexels-photo-699122.jpeg

About screenshots for the app stores

Why do I need screenshots? When you make an app your job is half over - now that you have an app, people need to get excited about it! That means putting it on the app store in an appealing way, making a landing page for your app, and even putting ads on social media....

How to test your app on an emulator instead of a phone

What is an emulator? An emulator is a copy of Android or iOS running on your desktop computer in a virtual machine. You can use an emulator to test your apps right on your computer rather than installing them on a separate physical device. Here you see two different...
white and black digital device displaying graph

How to reduce the size of your audio for apps

Reducing app sizeGetting your apps on the app stores is important, because it greatly extends your reach - rather than passing your apps phone to phone you can access the app anywhere in the world! With apps that are heavy on audio however, it can be tough to get...

Getting started with no-code apps

Why make an app? There are many ways apps can help in your digital strategy.If your language group does not have a dedicated Bible app with menus in the language and colors and graphics specifically chosen according to their preferences, that would be a great place to...
low angle view of lighting equipment on shelf

Getting started with videos

Why make videos? Videos are a key part of digital strategies, whether it's for short-format Facebook ads, long-format YouTube videos, or how-to guides for your apps. When getting started with creating videos for your work, you need software and content. Software If...
photo of imac near macbook

Getting started with websites

Why a website? Digital strategies often incorporate a website, or even several websites. A site is a central component of a media to movements strategy, but you may find a site useful for other reasons as well. Landing pages for your apps A home page for your...