game-ci / unity-builder

Build Unity projects for different platforms
https://github.com/marketplace/actions/unity-builder
MIT License
822 stars 231 forks source link

Update Project to Support iOS 17 SDK in Compliance with App Store Requirements #642

Open awsbot-labs opened 3 months ago

awsbot-labs commented 3 months ago

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

  1. Attempt to upload a binary built with the iOS 16.2 SDK to App Store Connect.
  2. Observe the ITMS-90725 warning indicating the need for the iOS 17 SDK.

Expected behavior

This warning does not occur.

Additional details

ChristianTellefsen commented 2 months ago

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 ?

GabLeRoux commented 2 months ago

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

see public repository

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.