ITMS-90725: jak opravit „SDK version issue“ v Expo
Autor: Mehdi Azizi
Publikováno , 7 min
ITMS-90725: tvoje appka je zkompilovaná se starým iOS SDK. Od 28. dubna 2026 Apple vyžaduje Xcode 26: přejdi na Expo SDK 54 nebo novější a udělej nový build.
ITMS-90725 je automatická kontrola, kterou Apple dělá na tvém buildu: říká, že appka byla zkompilovaná se starším iOS SDK, než je požadované minimum. K 15. říjnu 2026 Apple uvádí, že od 28. dubna 2026 musí být appky nahrávané do App Store Connect zkompilované s Xcode 26 nebo novějším a s iOS 26 SDK. U Expo se všechno rozhoduje v build image EAS: od Expo SDK 54 obsahuje výchozí image Xcode 26.
Moje appky Solys, TradaZen a Nolera běží na Expo SDK 57, bez vynucené image v eas.json: verzi Xcode si EAS vybírá sám. Tady je, jak zkontrolovat tu svoji a co dělat, když máš starší projekt.
Co znamená chyba ITMS-90725?
Zpráva má název „ITMS-90725: SDK version issue“. Uvádí SDK, se kterým byla tvoje appka zkompilovaná, pak požadované minimum a verzi Xcode, která ho obsahuje. Na fóru vývojářů Applu začínala jedna zpráva z roku 2024 třeba takhle: „This app was built with the iOS 16.2 SDK“, a za tím následoval tehdejší požadavek.
SDK je sada knihoven iOS, se kterými Xcode tvou appku kompiluje. Každá verze Xcode má tu svou: Xcode 26 obsahuje iOS 26 SDK. Kompilace s novým SDK neznamená, že se musíš vzdát starších iPhonů. Minimální verze iOS, kterou tvoje appka podporuje, je samostatné nastavení, deployment target.
Stejně jako ostatní chyby ITMS to není zamítnutí od revieweru. Kontrola je automatická a týká se nahraného binárky.
Jakou verzi Xcode Apple dnes vyžaduje?
Tohle uvádí stránka s nadcházejícími požadavky Applu a stránka o odesílání do App Store, zkontrolované 15. října 2026:
| Datum | Požadavek |
|---|---|
| 28. dubna 2026 | Xcode 26, iOS 26 SDK |
| 9. září 2026 | Minimální target iOS 13 |
| Duben 2027 | iOS 27 SDK, target iOS 15 |
ITMS-90725 spouští to první pravidlo. Build udělaný v Xcode 16 s iOS 18 SDK už neprojde. Druhé se týká minimální cílové verze, ne SDK. Třetí je ohlášené na duben 2027, v době kontroly bez přesného dne. Apple už teď doporučuje kompilovat a testovat s Xcode 27.
Tenhle požadavek se pravidelně zvyšuje, a vždycky na jaře. Stejná stránka Applu uchovává několik termínů: Xcode 14.1 25. dubna 2023, Xcode 15 29. dubna 2024, Xcode 26 28. dubna 2026. Před každým jarem si ji radši přečti znovu, než abys věřil nějakému článku, tenhle nevyjímaje.
Varování, nebo blokace: jak to rozlišit?
Před termínem přichází ITMS-90725 jako varování. V roce 2024 na fóru Applu e-mail uváděl, že doručení proběhlo úspěšně, a radil opravit to při dalším nahrání. Po termínu Apple píše, že appky „musí“ být zkompilované s požadovaným SDK, aby šly nahrát: build už neprojde.
| Vodítko | Varování | Blokace |
|---|---|---|
| Datum nahrání | Před termínem | Po termínu |
| Nahrání přijato | Ano | Ne |
| Co uděláš | Opravíš u dalšího | Nový build |
Varování ITMS-90725 je odpočet. Build dnes projde, ale další, zkompilovaný stejně, bude po termínu odmítnutý. Oprav to, dokud tě netlačí nějaký urgentní update.
Oprava ITMS-90725 v projektu Expo
S EAS se tvoje appka kompiluje na Macích od Expo, jak vysvětluju v článku jak vydat iOS appku bez Macu. Verze Xcode závisí na build image. Když v eas.json neuvedeš image, EAS použije alias auto: image vybere podle tvé verze Expo SDK.
Tady je image pro každé SDK podle dokumentace infrastruktury EAS, aktualizované 8. října 2026:
| Expo SDK | Xcode v image | ITMS-90725 |
|---|---|---|
| 57 | 26.6 | Ne |
| 56 | 26.4 | Ne |
| 55 | 26.2 | Ne |
| 54 | 26.0 | Ne |
| 53 | 16.4 | Ano |
| 52 | 16.2 | Ano |
- Podívej se, jakou image použil tvůj poslední build. Na stránce buildu na expo.dev ukazuje sekce „Spin up build environment“ v logách její název a verzi Xcode.
- Pokud jsi na SDK 54 nebo novějším, hledej vynucenou image. Řádek
image, který ukazuje na Xcode 16, třebamacos-sequoia-15.6-xcode-16.4, chybu klidně způsobí. Dokumentace Expo ho uvádí jako image SDK 54 pro ty, kdo nechtějí Xcode 26: od 28. dubna 2026 tahle volba vede k odmítnutí. Řádek smaž a EAS se vrátí k výchozí image. - Pokud jsi na SDK 53 nebo starším, přejdi na novější SDK. Přesně to doporučuje Expo ve svém oznámení z 27. dubna 2026: přejít minimálně na SDK 54.
- Udělej nový build a nahraj ho znovu. SDK je zapečené v binárce: vzdálený update nic nezmění.
Nouzové řešení pro staré SDK
Stejné oznámení Expo nabízí možnost, pokud nemůžeš upgradovat hned: vynutit v eas.json image s Xcode 26, v produkčním profilu.
{
"build": {
"production": {
"ios": {
"image": "macos-sequoia-15.6-xcode-26.2"
}
}
}
}
Expo upozorňuje: ne všechny verze SDK jsou kompatibilní s Xcode 26 a výsledek záleží i na tvých knihovnách. Ber to jako odklad, ne jako opravu. Pokud build selže při kompilaci, jedinou cestou zůstává upgrade SDK.
Upgrade SDK, jedna verze po druhé
Průvodce upgradem od Expo doporučuje jít vždy o jednu verzi, abys v každém kroku poznal, co se rozbilo. Pro přechod ze SDK 53 na SDK 54:
npm install expo@^54.0.0
npx expo install --fix
npx expo-doctor
Pokud ti složku ios generuje Expo, smaž ji: při dalším buildu se vytvoří znovu. Pak appku otestuj na svém iPhonu, než budeš pokračovat další verzí.
Jedna věc, kterou je dobré vědět, než se pustíš do nejnovějšího SDK. Podle tabulky verzí Expo podporují SDK 54 a 55 iOS 15.1 a novější, SDK 56 a 57 jen iOS 16.4 a novější. Přechodem na SDK 56 tedy přijdeš o iPhony, které zůstaly na iOS 15. Na vyřešení ITMS-90725 stačí SDK 54.
Jak zkontrolovat SDK buildu před nahráním
Xcode zapisuje do Info.plist každého buildu použité SDK a verzi Xcode. Stáhni si IPA ze stránky buildu na expo.dev a pak na svém Macu spusť:
unzip -q MonApp.ipa -d ipa
plutil -extract DTSDKName raw ipa/Payload/*.app/Info.plist
plutil -extract DTXcode raw ipa/Payload/*.app/Info.plist
U buildu pro App Store musí první hodnota začínat na iphoneos26. Druhá kóduje verzi Xcode: u buildu Nolery udělaného v Xcode 26.2 pro simulátor dostávám 2620. Pokud vidíš iphoneos18 nebo hodnotu začínající na 16, build bude odmítnutý.
Pokud kompiluješ na vlastním Macu, rozhoduje tvůj Xcode, ne image od EAS. xcodebuild -version ukáže aktivní verzi. Stejná logika platí pro CI: verze Xcode záleží na zvoleném stroji. V roce 2024 na fóru Applu dostávali vývojáři ITMS-90725, protože jejich stroj v GitHub Actions běžel na moc starém macOS pro Xcode 15.
Jakmile nahraješ správný build, otestuj ho v TestFlightu, než ho odešleš ke schválení. Nový build taky znovu prochází review, s časy, které popisuju v článku jak dlouho trvá schválení v App Store.
Jak nahrát build bez nepříjemných překvapení
ITMS-90725 předejdeš za minutu: před každým produkčním buildem zkontroluj image a SDK. Ostatní automatické kontroly chtějí stejnou pečlivost, třeba ITMS-90683 u textů k oprávněním. Zamítnutí od revieweru vyžadují víc nadhledu: postup najdeš na stránce appka zamítnutá Applem a nejčastější důvody v článku proč Apple zamítá appky.
Na kontrolu podkladů před nahráním je tu Review Kit, který obsahuje můj checklist a Claude Code skills, které projdou tvůj projekt. Pokud ti nahrání nejde a chceš, aby se na to podíval člověk, zarezervuj si se mnou hodinu: projdeme tvůj projekt přes videohovor, na tvé obrazovce. A pokud chystáš své první vydání, udělej si diagnostiku zdarma: seřadí ti kroky a pošle ti můj checklist proti zamítnutí od Applu.
Časté dotazy
Zabrání mi ITMS-90725 vydat appku?
Po termínu, který stanovil Apple, ano: build už neprojde a musíš zkompilovat nový. Před termínem je to varování: build projde, ale další bude odmítnutý, pokud ho zkompiluješ stejně.
Musím se vzdát starších iPhonů, abych mohl kompilovat s iOS 26 SDK?
Ne. SDK pro kompilaci a minimální verze iOS jsou dvě samostatná nastavení. U Expo určuje toto minimum tvoje verze Expo SDK: iOS 15.1 pro SDK 54 a 55, iOS 16.4 pro SDK 56 a 57.
Dá se ITMS-90725 opravit vzdáleným updatem?
Ne. SDK se zapisuje do binárky při kompilaci. Vzdálený update mění jen JavaScript a zdroje. Musíš udělat nový build s Xcode 26 a znovu ho nahrát.
Jak zjistím, jakou verzi Xcode EAS používá?
Otevři logy svého buildu na expo.dev, sekci „Spin up build environment“. Název image udává verzi Xcode, třeba macos-tahoe-26.5-xcode-26.6. Kompletní seznam je v dokumentaci infrastruktury EAS.
Co změní požadavek z dubna 2027?
Podle stránky Applu o odesílání bude potřeba kompilovat s iOS 27 SDK a cílit minimálně na iOS 15. Na straně EAS chystá Expo image s Xcode 27 pro své budoucí SDK 58: před kompilací si zkontroluj seznam build images. Na jaře si znovu přečti stránku Applu, ať znáš přesný den.

