Xcode and SDK requirements for the App Store
Since 28 April 2026, App Store Connect accepts new apps and updates only when they are built with Xcode 26 or later using the iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26 SDK; Apple states no SDK minimum for Mac apps. Apple has announced the next step for April 2027: the 27 SDKs, which first came with Xcode 27. Below are today's minimum per platform, every deadline Apple has announced, each Xcode from 14 to 27.2 with its SDKs, the macOS it needs and its Swift version, and a checker for any Xcode and day.
Right now
What App Store Connect requires for new uploads and updates on 31 October 2026, per platform.
| Platform | Minimum SDK | Minimum Xcode | Since | Source |
|---|---|---|---|---|
| iOS | iOS 26 SDK or later | Xcode 26 or later | 28 April 2026 | Apple's announcement |
| iPadOS | iPadOS 26 SDK or later | Xcode 26 or later | 28 April 2026 | Apple's announcement |
| macOS | not stated by Apple | not stated by Apple | – | – |
| tvOS | tvOS 26 SDK or later | Xcode 26 or later | 28 April 2026 | Apple's announcement |
| visionOS | visionOS 26 SDK or later | Xcode 26 or later | 28 April 2026 | Apple's announcement |
| watchOS | watchOS 26 SDK or later | Xcode 26 or later | 28 April 2026 | Apple's announcement |
Apple's SDK minimum announcements name iOS, iPadOS, tvOS, visionOS and watchOS. None of them names macOS, so this page gives no minimum Xcode for Mac apps.
“Apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26, or watchOS 26.”Next change: from April 2027 (Apple has not given the day), the iOS 27, iPadOS 27, tvOS 27, visionOS 27, watchOS 27 SDKs.
Other upload rules in force
- 1 May 2024Approved reasons for listed APIs
Apps (and the third-party SDKs inside them) that use the APIs on Apple's list must state an approved reason in a privacy manifest, or the upload is refused.
Apple's words
You’ll need to include approved reasons for the listed APIs used by your app’s code (including from third-party SDKs) to upload a new or updated app to App Store Connect.
- 18 February 2025No quarantine attribute in Mac appsmacOS
Remove the com.apple.quarantine extended attribute from every file in a Mac app before uploading it.
Apple's words
macOS apps distributed on TestFlight and the App Store shouldn’t include the quarantine extended file attribute com.apple.quarantine. Starting February 18, you must remove this attribute from all files within macOS apps in order to upload to App Store Connect.
- April 2026 (Apple has not given the day)64-bit watchOS appswatchOS
watchOS apps must include 64-bit code and be built with the watchOS 26 SDK.
Apple's words
Beginning April 2026, watchOS apps uploaded to App Store Connect must also include 64-bit support and be built with the watchOS 26 SDK.
- 9 September 2026Deployment target iOS 13 or lateriOS · iPadOS
iOS and iPadOS apps must set a minimum deployment target of iOS 13 or later.
Apple's words
iOS and iPadOS apps uploaded to App Store Connect must target iOS 13 or later.
Upcoming
Deadlines Apple has announced that have not passed on 31 October 2026, soonest first.
- 1 February 2027Old Developer ID certificate authority expiresOutside the App StoremacOS
Mac software signed with a certificate from the original Developer ID Sub-CA stops working on that date; installer packages signed with it will no longer install. Create a new certificate from the G2 authority and re-sign.
Apple's words
The original Developer ID Certification Authority (Sub-CA) expires on February 1, 2027. Certificates issued by this authority will stop working on that date.
- April 2027 (Apple has not given the day)The 27 SDKsiOS · iPadOS · tvOS · visionOS · watchOS
iOS, iPadOS, tvOS, visionOS and watchOS apps must be built with the 27 SDKs or later. In Apple's table, Xcode 27 is the first Xcode with them.
Apple's words
Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements: iOS and iPadOS apps must be built with the iOS 27 & iPadOS 27 SDK or later; tvOS apps must be built with the tvOS 27 SDK or later; visionOS apps must be built with the visionOS 27 SDK or later; watchOS apps must be built with the watchOS 27 SDK or later.
- April 2027 (Apple has not given the day)iPhone Duo screenshotsiOS
Every app or game submitted must include screenshots for iPhone Duo.
Apple's words
Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.
Can I still upload with this Xcode?
Pick an Xcode version and a day. The answer comes from the SDK minimums and release dates on this page.
Only for some platforms. On 31 October 2026, Xcode 16.4 is accepted for: macOS.
- iOS Refused: has the iOS 18.5 SDK; Apple requires 26 or later since 28 April 2026.
- iPadOS Refused: has the iPadOS 18.5 SDK; Apple requires 26 or later since 28 April 2026.
- macOS Accepted: Apple had no SDK minimum for macOS on that day.
- tvOS Refused: has the tvOS 18.5 SDK; Apple requires 26 or later since 28 April 2026.
- visionOS Refused: has the visionOS 2.5 SDK; Apple requires 26 or later since 28 April 2026.
- watchOS Refused: has the watchOS 11.5 SDK; Apple requires 26 or later since 28 April 2026.
This checks the SDK minimum only. A build can still be refused for other reasons, such as a missing privacy manifest entry.
Xcode releases, SDKs, macOS and Swift
Every row of Apple's "SDK and system requirements" table, newest first. Apple's table starts at Xcode 14. Release dates are from Apple's Releases page. Apple's table · Apple's Releases page
| Xcode | Released | iOS / iPadOS SDK | macOS SDK | tvOS SDK | watchOS SDK | visionOS SDK | Runs on | Swift | iOS deployment targets | Release notes |
|---|---|---|---|---|---|---|---|---|---|---|
| Xcode 27.2 27B52 | 29 October 2026 | 27.2 | 27.2 | 27.2 | 27.2 | 27.2 | macOS Tahoe 26.6 or later | 6.4 language modes 6, 5, 4.2, 4 | 15–27 | Notes |
| Xcode 27.1 27A9275 | 15 October 2026 | 27.1 | 27 | 27 | 27 | 27 | macOS Tahoe 26.6 or later | 6.4 language modes 6, 5, 4.2, 4 | 15–27 | Notes |
| Xcode 27 27A266a | 14 September 2026 | 27 | 27 | 27 | 27 | 27 | macOS Tahoe 26.6 or later | 6.4 language modes 6, 5, 4.2, 4 | 15–27 | Notes |
| Xcode 26.6 17F113 | 25 June 2026 | 26.5 | 26.5 | 26.5 | 26.5 | 26.5 | macOS Tahoe 26.2 - macOS Tahoe 26.x | 6.3 language modes 6, 5, 4.2, 4 | 15–26.5 | Notes |
| Xcode 26.5 17F42 | 11 May 2026 | 26.5 | 26.5 | 26.5 | 26.5 | 26.5 | macOS Tahoe 26.2 - macOS Tahoe 26.x | 6.3 language modes 6, 5, 4.2, 4 | 15–26.5 | Notes |
| Xcode 26.4.1 17E202 | 16 April 2026 | 26.4 | 26.4 | 26.4 | 26.4 | 26.4 | macOS Tahoe 26.2 - macOS Tahoe 26.x | 6.3 language modes 6, 5, 4.2, 4 | 15–26.4 | Notes |
| Xcode 26.3 17C529 | 26 February 2026 | 26.2 | 26.2 | 26.2 | 26.2 | 26.2 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2.3 language modes 6, 5, 4.2, 4 | 15–26.2 | Notes |
| Xcode 26.2 17C52 | 12 December 2025 | 26.2 | 26.2 | 26.2 | 26.2 | 26.2 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2.3 language modes 6, 5, 4.2, 4 | 15–26.2 | Notes |
| Xcode 26.1.1 17B100 | 11 November 2025 | 26.1 | 26.1 | 26.1 | 26.1 | 26.1 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2.1 language modes 6, 5, 4.2, 4 | 15–26.1 | Notes |
| Xcode 26.1 17B55 | 3 November 2025 | 26.1 | 26.1 | 26.1 | 26.1 | 26.1 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2.1 language modes 6, 5, 4.2, 4 | 15–26.1 | Notes |
| Xcode 26.0.1 17A400 | 22 September 2025 | 26 | 26 | 26 | 26 | 26 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2 language modes 6, 5, 4.2, 4 | 15–26 | Notes |
| Xcode 26 17A324 | 15 September 2025 | 26 | 26 | 26 | 26 | 26 | macOS Sequoia 15.6 - macOS Tahoe 26.x | 6.2 language modes 6, 5, 4.2, 4 | 15–26 | Notes |
| Xcode 16.4 16F6 | 28 May 2025 | 18.5 | 15.5 | 18.5 | 11.5 | 2.5 | macOS Sequoia 15.3 - macOS Tahoe 26.1.x | 6.1 language modes 6, 5, 4.2, 4 | 15–18 | Notes |
| Xcode 16.3 16E140 | 31 March 2025 | 18.4 | 15.4 | 18.4 | 11.4 | 2.4 | macOS Sequoia 15.2 - macOS Sequoia 15.x | 6.1 language modes 6, 5, 4.2, 4 | 15–18 | Notes |
| Xcode 16.2 16C5032a | 11 December 2024 | 18.2 | 15.2 | 18.2 | 11.2 | 2.2 | macOS Sonoma 14.5 - macOS Sequoia 15.x | 6.0 language modes 6, 5, 4.2, 4 | 15–18 | Notes |
| Xcode 16.1 16B40 | 28 October 2024 | 18.1 | 15.1 | 18.1 | 11.1 | 2.1 | macOS Sonoma 14.5 - macOS Sequoia 15.x | 6.0 language modes 6, 5, 4.2, 4 | 15–18 | Notes |
| Xcode 16 16A242d | 16 September 2024 | 18 | 15 | 18 | 11 | 2 | macOS Sonoma 14.5 - macOS Sequoia 15.x | 6.0 language modes 6, 5, 4.2, 4 | 15–18 | Notes |
| Xcode 15.4 15F31d | 13 May 2024 | 17.5 | 14.5 | 17.5 | 10.5 | 1.2 | macOS Sonoma 14.x | 5.10 language modes 5, 4.2, 4 | 12–17.5 | Notes |
| Xcode 15.3 15E204a | 5 March 2024 | 17.4 | 14.4 | 17.4 | 10.4 | 1 | macOS Sonoma 14.x | 5.10 language modes 5, 4.2, 4 | 12–17.4 | Notes |
| Xcode 15.2 15C500b | 8 January 2024 | 17.2 | 14.2 | 17.2 | 10.2 | 1 | macOS Ventura 13.5 - macOS Sonoma 14.x | 5.9 language modes 5, 4.2, 4 | 12–17.2 | Notes |
| Xcode 15.1* 15C65 | 11 December 2023 | 17.2 | 14.2 | 17.2 | 10.2 | 1 | macOS Ventura 13.5 - macOS Sonoma 14.x | 5.9 language modes 5, 4.2, 4 | 12–17.2 | Notes |
| Xcode 15.0.x 15A240d | 18 September 2023 | 17 | 14 | 17 | 10 | – | macOS Ventura 13.5 - macOS Sonoma 14.x | 5.9 language modes 5 | 12–17 | Notes |
| Xcode 14.3.1 14E300c | 1 June 2023 | 16.4 | 13.3 | 16.4 | 9.4 | – | macOS Ventura 13.x | 5.8.1 language modes 5, 4.2, 4 | 11–16.4 | Notes |
| Xcode 14.3* 14E222b | 30 March 2023 | 16.4 | 13.3 | 16.4 | 9.4 | – | macOS Ventura 13.x | 5.8 language modes 5, 4.2, 4 | 11–16.4 | Notes |
| Xcode 14.2 14C18 | 13 December 2022 | 16.2 | 13.1 | 16.1 | 9.1 | – | macOS Monterey 12.5 - macOS Ventura 13.x | 5.7 language modes 5, 4.2, 4 | 11–16.2 | Notes |
| Xcode 14.1 14B47b | 1 November 2022 | 16.1 | 13 | 16.1 | 9.1 | – | macOS Monterey 12.5 - macOS Ventura 13.x | 5.7 language modes 5, 4.2, 4 | 11–16.1 | Notes |
| Xcode 14.0.x 14A309 | 12 September 2022 | 16 | 12.3 | 16 | 9 | – | macOS Monterey 12.5 - macOS Ventura 13.x | 5.7 language modes 5, 4.2, 4 | 11–16 | Notes |
* Apple's note under its table: "The iOS 15 and watchOS 8 Simulators are not supported on macOS Sonoma 14.x."
Apple's definition of the deployment target column: "The OS range supported by this version of Xcode for uploading apps to App Store Connect."
Checked against Apple's pages on 30 October 2026.
How it works
- •Every value is copied from Apple's own pages: the "SDK and system requirements" table on Apple's Xcode support page, the Upcoming Requirements page, and Apple Developer News posts. Nothing comes from Wikipedia or other sites, and each row links to its Apple source.
- •Requirements Apple has since taken off its Upcoming Requirements page (the Xcode 13 rule of 2022 and the Xcode 16 rule of 2025) are read from archived copies of that page and linked as such.
- •Release dates come from Apple's Releases page; older ones from archived copies of it. Apple's table starts at Xcode 14, so the timeline does too.
- •Where Apple gives only a month ("Starting April 2027"), the page says so and the checker answers "not certain" for days in that month.
- •The checker finds the SDK rule in force for each platform on the day you pick, compares it with the SDK that Xcode includes (iPadOS apps use the iOS SDK) and checks the Xcode version when Apple names one.
- •Checked against Apple's pages on 30 October 2026. We re-check them when Apple ships a new Xcode or posts a new requirement.
What it does not do
- •It does not list Xcode versions older than 14 or beta releases; Apple's table has neither.
- •It does not fill gaps from other sites. When Apple has not stated a value, the cell says "not stated by Apple".
- •It does not check anything else App Review looks at: privacy manifests, screenshots, metadata or the review guidelines.
- •It is not a live feed. For Apple's newest posts as they appear, see the Apple updates page linked below.
- •It does not read your project or your Xcode. Look up your version in Xcode > About Xcode.
Questions
- What Xcode do I need to submit an app in 2026?
- Since 28 April 2026, Xcode 26 or later with the iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26 SDK. Any release from Xcode 26 to 27.2 meets that. Apple has announced that from April 2027 apps must be built with the 27 SDKs or later, which in Apple's table means Xcode 27 or later; Apple has not given the day.
- Can I target older iOS versions while building with the new SDK?
- Yes. The SDK decides which APIs you compile against; the deployment target decides the oldest iOS your app installs on. Apple's table lists iOS deployment targets 15 to 26 for Xcode 26 and 15 to 27 for Xcode 27, so you can still support iOS 15. Guard newer APIs with #available. Apple separately requires iOS and iPadOS apps to target iOS 13 or later since 9 September 2026.
- What is the difference between the deployment target and the SDK?
- The SDK is the set of system frameworks Xcode builds against, and it comes with Xcode: Xcode 26.6 has the iOS 26.5 SDK. The deployment target is a build setting you choose: the lowest OS version the app runs on. Apple's upload rules are about the SDK (and so the Xcode version); the iOS 13 rule is about the deployment target.
- What happens if I upload with an old Xcode?
- App Store Connect refuses the build when you upload it, so it never reaches TestFlight or App Review. Apple's rule is about uploads, so it says nothing about builds already on the App Store; the next update has to be built with a current enough Xcode.
- Which macOS do I need to run Xcode 26 or Xcode 27?
- Per Apple's table: Xcode 26 to 26.3 run on macOS Sequoia 15.6 or later; Xcode 26.4.1 to 26.6 need macOS Tahoe 26.2; Xcode 27, 27.1 and 27.2 need macOS Tahoe 26.6 or later. A Mac that stays on Sequoia can run Xcode 26.3, which meets the current rule but will not meet the April 2027 one.
- Is there a minimum Xcode for Mac apps?
- None of Apple's SDK minimum announcements names macOS; they cover iOS, iPadOS, tvOS, visionOS and watchOS. Mac apps do have their own upload rule: since 18 February 2025, no file in the app may carry the com.apple.quarantine attribute.