unity-builder
unity-builder copied to clipboard
Update Project to Support iOS 17 SDK in Compliance with App Store Requirements
Bug description
Issue: The current version of our app, built with the iOS 16.2 SDK, does not comply with the upcoming App Store requirements announced for April 29, 2024. According to the ITMS-90725 warning received during our last submission, starting from this date, all iOS and iPadOS apps submitted to the App Store must be built with the iOS 17 SDK or later, which is included in Xcode 15 or later.
How to reproduce
- Attempt to upload a binary built with the iOS 16.2 SDK to App Store Connect.
- Observe the ITMS-90725 warning indicating the need for the iOS 17 SDK.
Expected behavior
This warning does not occur.
Additional details
Hi! We're also getting this issue, the 29th of April is in 6 days. Are there any workarounds for this, or fixes planned? Or perhaps we just have to wait for a new GitHub runner image with an updated Xcode at https://github.com/actions/runner-images ?
This message happens when using an older version of XCode. XCode versions are determined by the Github Actions macos runners, not unity-builder action.
I've investigated this and here's what I found. I created the following workflow to validate each Github Actions OS Versions and XCode versions being used.
name: Print Xcode Version
on:
push:
branches:
- main
jobs:
print-xcode-version:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
# - macos-10.15
- macos-11
- macos-12
- macos-13
- macos-14
- macos-latest
steps:
- name: Print Xcode Version
run: xcodebuild -version
- name: Print OS Version
run: sw_vers -productVersion
Based on the the output, it appears that Github Actions macos-latest
is still set to macos-12
.
To use Xcode 15.0.1, you should specify macos-13
or macos-14
in your workflow as these versions are currently running the latest Xcode version. This setup will ensure compatibility with the most recent SDK requirements.
Note that this is definitely confusing as the following documentation says this:
The macos-latest label currently uses the macOS 14 runner image.
But the results are like this (as of today 2024-04-23)
Runner Image | macOS Version | Xcode Version | Xcode Build Version |
---|---|---|---|
macos-11 | 11.7.10 | 13.2.1 | 13C100 |
macos-12 | 12.7.4 | 14.2 | 14C18 |
macos-13 | 13.6.6 | 15.0.1 | 15A507 |
macos-14 | 14.4.1 | 15.0.1 | 15A507 |
macos-latest | 12.7.4 | 14.2 | 14C18 |
Solution
Specify macos-13
or macos-14
in your workflow file instead of macos-latest
. It will use Xcode 15 and will solve your problem.