ITMS-90725: „SDK version issue“ mit Expo beheben
Von Mehdi Azizi
Veröffentlicht am , 7 Min.
ITMS-90725: Deine App nutzt ein zu altes iOS-SDK. Seit 28. April 2026 verlangt Apple Xcode 26: Wechsle auf Expo SDK 54+ und baue neu.
ITMS-90725 ist eine automatische Prüfung deines Builds durch Apple: Sie meldet, dass die App mit einem älteren iOS-SDK kompiliert wurde als dem geforderten Minimum. Stand 15. Oktober 2026 gibt Apple an, dass an App Store Connect gesendete Apps seit dem 28. April 2026 mit Xcode 26 oder neuer und dem iOS-SDK 26 kompiliert sein müssen. Mit Expo entscheidet sich alles beim EAS-Build-Image: Ab Expo SDK 54 bringt das standardmäßig gewählte Image Xcode 26 mit.
Meine Apps Solys, TradaZen und Nolera laufen auf Expo SDK 57, ohne festgelegtes Image in eas.json: EAS wählt die Xcode-Version selbst. Hier zeige ich dir, wie du deine prüfst und was du tust, wenn dein Projekt älter ist.
Was bedeutet der Fehler ITMS-90725?
Die Meldung heißt „ITMS-90725: SDK version issue“. Sie nennt das SDK, mit dem deine App kompiliert wurde, dann das geforderte Minimum und die Xcode-Version, die es enthält. Im Entwicklerforum von Apple begann eine Meldung aus 2024 zum Beispiel so: „This app was built with the iOS 16.2 SDK“, gefolgt von der damaligen Anforderung.
Das SDK ist die Sammlung von iOS-Bibliotheken, mit denen Xcode deine App kompiliert. Jede Xcode-Version bringt ihr eigenes mit: Xcode 26 enthält das iOS-SDK 26. Mit einem aktuellen SDK zu kompilieren heißt nicht, alte iPhones aufzugeben. Die minimale iOS-Version, die deine App unterstützt, ist eine eigene Einstellung: das Deployment Target.
Wie die anderen ITMS-Fehler ist das keine Ablehnung durch einen Reviewer. Die Prüfung läuft automatisch und betrifft das hochgeladene Binary.
Welche Xcode-Version verlangt Apple aktuell?
Das sagen die Seite mit den kommenden Anforderungen von Apple und die Seite zur Einreichung im App Store, Stand 15. Oktober 2026:
| Datum | Anforderung |
|---|---|
| 28. April 2026 | Xcode 26, iOS-SDK 26 |
| 9. September 2026 | Mindestens iOS 13 als Ziel |
| April 2027 | iOS-SDK 27, mindestens iOS 15 |
ITMS-90725 wird von der ersten Regel ausgelöst. Ein Build mit Xcode 16 und iOS-SDK 18 wird nicht mehr angenommen. Die zweite betrifft die minimal unterstützte Version, nicht das SDK. Die dritte ist für April 2027 angekündigt, zum Zeitpunkt der Abfrage ohne genauen Tag auf der Seite. Apple empfiehlt bereits, mit Xcode 27 zu kompilieren und zu testen.
Diese Anforderung steigt regelmäßig, und zwar immer im Frühjahr. Dieselbe Apple-Seite listet mehrere Fristen: Xcode 14.1 am 25. April 2023, Xcode 15 am 29. April 2024, Xcode 26 am 28. April 2026. Lies sie vor jedem Frühjahr neu, statt dich auf einen Artikel zu verlassen, diesen hier eingeschlossen.
Warnung oder Sperre: Wie erkennst du den Unterschied?
Vor der Frist kommt ITMS-90725 als Warnung. 2024 stand laut Apple-Forum in der E-Mail, dass die Auslieferung erfolgreich war, mit dem Rat, es beim nächsten Upload zu beheben. Nach der Frist schreibt Apple, dass Apps mit dem geforderten SDK kompiliert sein „müssen“, um hochgeladen zu werden: Der Build wird nicht mehr angenommen.
| Hinweis | Warnung | Sperre |
|---|---|---|
| Upload-Datum | Vor der Frist | Nach der Frist |
| Upload angenommen | Ja | Nein |
| Was du tust | Beim nächsten beheben | Neuer Build |
Eine ITMS-90725-Warnung ist ein Countdown. Der Build geht heute durch, aber der nächste, genauso kompiliert, wird nach dem Stichtag abgelehnt. Behebe es, solange dich kein dringendes Update unter Druck setzt.
ITMS-90725 in einem Expo-Projekt beheben
Mit EAS wird deine App auf den Macs von Expo kompiliert, wie ich in iOS-App ohne Mac veröffentlichen erkläre. Die Xcode-Version hängt vom Build-Image ab. Wenn du in eas.json kein image angibst, nutzt EAS den Alias auto: Es wählt das Image passend zu deiner Expo-SDK-Version.
Hier das Image zu jedem SDK laut Dokumentation der EAS-Infrastruktur, aktualisiert am 8. Oktober 2026:
| Expo SDK | Xcode des Images | ITMS-90725 |
|---|---|---|
| 57 | 26.6 | Nein |
| 56 | 26.4 | Nein |
| 55 | 26.2 | Nein |
| 54 | 26.0 | Nein |
| 53 | 16.4 | Ja |
| 52 | 16.2 | Ja |
- Schau dir das Image deines letzten Builds an. Auf der Build-Seite in expo.dev zeigt der Abschnitt „Spin up build environment“ der Logs den Namen und die Xcode-Version.
- Bist du auf SDK 54 oder höher, such nach einem festgelegten Image. Eine
image-Zeile, die auf Xcode 16 zeigt, etwamacos-sequoia-15.6-xcode-16.4, reicht für den Fehler. Die Expo-Doku nennt es das Image für SDK 54, wenn man kein Xcode 26 will: Seit dem 28. April 2026 führt diese Wahl zur Ablehnung. Entferne die Zeile: EAS nutzt dann wieder das Standard-Image. - Bist du auf SDK 53 oder darunter, aktualisiere das SDK. Das empfiehlt Expo in seiner Ankündigung vom 27. April 2026: mindestens auf SDK 54 wechseln.
- Baue neu und lade erneut hoch. Das SDK steckt fest im Binary: Ein Remote-Update ändert nichts.
Die Notlösung für ein altes SDK
Dieselbe Expo-Ankündigung nennt eine Option, falls du nicht sofort aktualisieren kannst: ein Xcode-26-Image in eas.json festlegen, in deinem Production-Profil.
{
"build": {
"production": {
"ios": {
"image": "macos-sequoia-15.6-xcode-26.2"
}
}
}
}
Expo warnt: Nicht alle SDK-Versionen sind mit Xcode 26 kompatibel, und das Ergebnis hängt auch von deinen Bibliotheken ab. Sieh das als Aufschub, nicht als Lösung. Schlägt das Kompilieren fehl, bleibt nur das SDK-Upgrade.
SDK aktualisieren, eine Version nach der anderen
Der Upgrade-Leitfaden von Expo empfiehlt, immer nur eine Version auf einmal zu springen, damit du bei jedem Schritt siehst, was kaputtgeht. Von SDK 53 auf SDK 54:
npm install expo@^54.0.0
npx expo install --fix
npx expo-doctor
Wird dein ios-Ordner von Expo generiert, lösch ihn: Er wird beim nächsten Build neu erzeugt. Teste die App dann auf deinem iPhone, bevor du mit der nächsten Version weitermachst.
Eine Sache solltest du wissen, bevor du das neueste SDK anpeilst. Laut Versionstabelle von Expo unterstützen SDK 54 und 55 iOS 15.1 und neuer, SDK 56 und 57 nur iOS 16.4 und neuer. Der Wechsel auf SDK 56 schließt also iPhones aus, die auf iOS 15 geblieben sind. SDK 54 reicht, um ITMS-90725 loszuwerden.
Das SDK eines Builds vor dem Upload prüfen
Xcode schreibt in die Info.plist jedes Builds das verwendete SDK und die Xcode-Version. Lade die IPA von der Build-Seite auf expo.dev herunter und führe auf deinem Mac aus:
unzip -q MonApp.ipa -d ipa
plutil -extract DTSDKName raw ipa/Payload/*.app/Info.plist
plutil -extract DTXcode raw ipa/Payload/*.app/Info.plist
Bei einem Build für den App Store muss der erste Wert mit iphoneos26 beginnen. Der zweite kodiert die Xcode-Version: Bei einem Nolera-Build mit Xcode 26.2 für den Simulator bekomme ich 2620. Liest du iphoneos18 oder einen Wert, der mit 16 beginnt, wird der Build abgelehnt.
Kompilierst du auf deinem eigenen Mac, zählt dein Xcode, nicht das EAS-Image. xcodebuild -version zeigt die aktive Version. Gleiches gilt für Continuous Integration: Die Xcode-Version hängt von der gewählten Maschine ab. 2024 bekamen Entwickler im Apple-Forum ITMS-90725, weil ihre GitHub-Actions-Maschine auf einem für Xcode 15 zu alten macOS lief.
Sobald der richtige Build hochgeladen ist, teste ihn in TestFlight, bevor du ihn einreichst. Ein neuer Build geht auch wieder durch die Prüfung, mit den Fristen aus Dauer der App-Store-Prüfung.
Deinen Build ohne böse Überraschung hochladen
ITMS-90725 verhinderst du in einer Minute: Prüf vor jedem Production-Build Image und SDK. Die anderen automatischen Prüfungen verlangen dieselbe Sorgfalt, etwa ITMS-90683 für die Berechtigungstexte. Ablehnungen durch einen Reviewer brauchen mehr Abstand: Das Vorgehen steht auf der Seite App von Apple abgelehnt, die häufigsten Gründe in warum Apple eine App ablehnt.
Um dein Projekt vor dem Upload zu prüfen, bündelt das Review Kit meine Checkliste und Claude-Code-Skills, die dein Projekt durchgehen. Hängt dein Upload fest und willst du einen menschlichen Blick, buch eine Stunde mit mir: Wir gehen dein Projekt per Videocall an deinem Bildschirm durch. Und wenn du deinen ersten Release vorbereitest, mach deine kostenlose Diagnose: Sie bringt die Schritte in die richtige Reihenfolge und schickt dir meine Checkliste gegen Apple-Ablehnungen.
Häufige Fragen
Verhindert ITMS-90725 die Veröffentlichung meiner App?
Nach der von Apple gesetzten Frist ja: Der Build wird nicht mehr angenommen, und du musst einen neuen kompilieren. Vor der Frist ist es eine Warnung: Der Build geht durch, aber der nächste wird abgelehnt, wenn er genauso kompiliert ist.
Muss ich alte iPhones aufgeben, um mit dem iOS-SDK 26 zu kompilieren?
Nein. Das SDK zum Kompilieren und die minimale iOS-Version sind zwei getrennte Einstellungen. Bei Expo legt deine Expo-SDK-Version dieses Minimum fest: iOS 15.1 für SDK 54 und 55, iOS 16.4 für SDK 56 und 57.
Kann man ITMS-90725 mit einem Remote-Update beheben?
Nein. Das SDK wird beim Kompilieren ins Binary geschrieben. Ein Remote-Update ändert nur JavaScript und Ressourcen. Du musst mit Xcode 26 neu bauen und erneut hochladen.
Wie finde ich heraus, welche Xcode-Version EAS nutzt?
Öffne die Logs deines Builds auf expo.dev, Abschnitt „Spin up build environment“. Der Image-Name zeigt die Xcode-Version, zum Beispiel macos-tahoe-26.5-xcode-26.6. Die vollständige Liste steht in der Dokumentation der EAS-Infrastruktur.
Was ändert die Anforderung vom April 2027?
Laut Apples Einreichungsseite musst du dann mit dem iOS-SDK 27 kompilieren und mindestens iOS 15 unterstützen. Bei EAS plant Expo ein Image mit Xcode 27 für sein künftiges SDK 58: Prüf die Liste der Build-Images, bevor du kompilierst. Lies Apples Seite im Frühjahr erneut, um den genauen Tag zu erfahren.

