ITMS-90725: „SDK version issue” javítása Expóval
Írta: Mehdi Azizi
Megjelent: , 7 p
ITMS-90725: túl régi iOS SDK-val fordítottad az appot. 2026. április 28. óta Xcode 26 kell: válts Expo SDK 54-re vagy újabbra, és buildelj újra.
ITMS-90725 az Apple automatikus ellenőrzése a buildeden: azt jelzi, hogy az appot a minimálisan elvártnál régebbi iOS SDK-val fordították. 2026. október 15-i állapot szerint az Apple azt írja, hogy 2026. április 28. óta az App Store Connectbe küldött appokat Xcode 26-tal vagy újabbal és az iOS 26 SDK-val kell fordítani. Expóval minden az EAS build image-en múlik: Expo SDK 54-től az alapértelmezetten kiválasztott image Xcode 26-ot tartalmaz.
Az appjaim, a Solys, a TradaZen és a Nolera, Expo SDK 57-en futnak, az eas.json-ban kényszerített image nélkül: az EAS maga választja ki az Xcode verzióját. Megmutatom, hogyan ellenőrizd a sajátodat, és mit csinálj, ha régebbi a projekted.
Mit jelent az ITMS-90725 hiba?
Az üzenet címe: „ITMS-90725: SDK version issue”. Megadja, milyen SDK-val fordítottad az appot, aztán az elvárt minimumot és az azt tartalmazó Xcode verziót. Az Apple fejlesztői fórumán egy 2024-es üzenet például így kezdődött: „This app was built with the iOS 16.2 SDK”, utána pedig az akkori követelmény jött.
Az SDK az iOS könyvtárainak összessége, amelyekkel az Xcode lefordítja az appodat. Minden Xcode verzió a sajátját hozza: az Xcode 26 az iOS 26 SDK-t tartalmazza. Friss SDK-val fordítani nem jelenti azt, hogy le kell mondanod a régi iPhone-okról. Az, hogy az appod minimum melyik iOS verziót fogadja el, külön beállítás: ez a deployment target.
A többi ITMS hibához hasonlóan ez sem egy reviewer elutasítása. Az ellenőrzés automatikus, és a beküldött binárisra vonatkozik.
Milyen Xcode verziót követel ma az Apple?
Ezt írja az Apple közelgő követelményeinek oldala és az App Store beküldési oldala, 2026. október 15-i állapot szerint:
| Dátum | Követelmény |
|---|---|
| 2026. április 28. | Xcode 26, iOS 26 SDK |
| 2026. szeptember 9. | Minimum iOS 13 target |
| 2027. április | iOS 27 SDK, iOS 15 target |
Az ITMS-90725-öt az első szabály váltja ki. Az Xcode 16-tal és iOS 18 SDK-val készült buildet már nem fogadják el. A második a minimálisan célzott verzióra vonatkozik, nem az SDK-ra. A harmadikat 2027 áprilisára jelentették be, a leolvasáskor pontos nap nélkül. Az Apple már most arra biztat, hogy Xcode 27-tel fordíts és tesztelj.
Ez a követelmény rendszeresen emelkedik, és mindig tavasszal. Ugyanez az Apple-oldal több határidőt is megőriz: Xcode 14.1 2023. április 25-én, Xcode 15 2024. április 29-én, Xcode 26 2026. április 28-án. Minden tavasz előtt olvasd át újra, ahelyett hogy egy cikkre hagyatkoznál, ezt is beleértve.
Figyelmeztetés vagy blokkolás: hogyan tudod megkülönböztetni?
A határidő előtt az ITMS-90725 figyelmeztetésként érkezik. 2024-ben az Apple fórumán az e-mail jelezte, hogy a beküldés sikerült, és azt tanácsolta, hogy a következő beküldésnél javítsd. A határidő után az Apple azt írja, hogy az appokat a beküldéshez az elvárt SDK-val „kell” fordítani: a buildet már nem fogadják el.
| Jel | Figyelmeztetés | Blokkolás |
|---|---|---|
| Beküldés dátuma | Határidő előtt | Határidő után |
| Elfogadják a buildet | Igen | Nem |
| Mit csinálsz | Javítod a következőnél | Új build |
Egy ITMS-90725 figyelmeztetés visszaszámlálás. A build ma átmegy, de a következőt, ha ugyanígy fordítod, a dátum után elutasítják. Javítsd ki, amíg nem sürget egy sürgős frissítés.
Az ITMS-90725 javítása Expo projektben
EAS-szel az appod az Expo Macjein fordul, ahogy a iOS app kiadása Mac nélkül cikkben elmagyarázom. Az Xcode verziója a build image-től függ. Ha nem adsz meg image-et az eas.json-ban, az EAS az auto aliast használja: az Expo SDK verziód alapján választ image-et.
Az egyes SDK-khoz tartozó image az EAS infrastruktúra dokumentációja szerint, 2026. október 8-i frissítés:
| Expo SDK | Az image Xcode-ja | ITMS-90725 |
|---|---|---|
| 57 | 26.6 | Nem |
| 56 | 26.4 | Nem |
| 55 | 26.2 | Nem |
| 54 | 26.0 | Nem |
| 53 | 16.4 | Igen |
| 52 | 16.2 | Igen |
- Nézd meg, milyen image-et használt a legutóbbi buildod. A build oldalán, az expo.dev-en, a logok „Spin up build environment” szakasza mutatja a nevét és az Xcode verzióját.
- Ha SDK 54-en vagy újabbon vagy, keress kényszerített image-et. Egy Xcode 16-ra mutató
imagesor, mint amacos-sequoia-15.6-xcode-16.4, elég a hibához. Az Expo dokumentációja ezt az SDK 54 image-eként mutatja be annak, aki nem akar Xcode 26-ot: 2026. április 28. óta ez a választás elutasításhoz vezet. Töröld a sort: az EAS visszaáll az alapértelmezett image-re. - Ha SDK 53-on vagy régebbin vagy, válts SDK-t. Ezt ajánlja az Expo a 2026. április 27-i bejelentésében: legalább SDK 54-re válts.
- Buildelj újra, és küldd be újra. Az SDK be van égetve a binárisba: egy távoli frissítés semmit sem változtat.
Ideiglenes megoldás régi SDK-hoz
Ugyanez az Expo-bejelentés ad egy lehetőséget, ha nem tudsz azonnal SDK-t váltani: kényszeríts egy Xcode 26-os image-et az eas.json-ban, a production profilodban.
{
"build": {
"production": {
"ios": {
"image": "macos-sequoia-15.6-xcode-26.2"
}
}
}
}
Az Expo figyelmeztet: nem minden SDK verzió kompatibilis az Xcode 26-tal, és az eredmény a könyvtáraidtól is függ. Tekintsd haladéknak, ne javításnak. Ha a build fordításkor elhasal, az egyetlen út az SDK-váltás marad.
SDK-váltás, egyszerre egy verzióval
Az Expo frissítési útmutatója azt javasolja, hogy egyszerre egy verziót lépj, hogy minden lépésnél lásd, mi romlik el. SDK 53-ról SDK 54-re így váltasz:
npm install expo@^54.0.0
npx expo install --fix
npx expo-doctor
Ha az ios mappádat az Expo generálja, töröld: a következő buildnél újra létrejön. Aztán teszteld az appot az iPhone-odon, mielőtt a következő verzióval újrakezded.
Egy dolgot tudj, mielőtt a legújabb SDK-t célzod. Az Expo verziótáblázata szerint az SDK 54 és 55 az iOS 15.1-et és újabbat fogadja el, az SDK 56 és 57 csak az iOS 16.4-et és újabbat. Az SDK 56-ra váltás tehát kizárja az iOS 15-ön maradt iPhone-okat. Az ITMS-90725 megszüntetéséhez az SDK 54 is elég.
Egy build SDK-jának ellenőrzése beküldés előtt
Az Xcode minden build Info.plist fájljába beírja a használt SDK-t és Xcode verziót. Töltsd le az IPA-t a build oldaláról az expo.dev-en, majd futtasd a Maceden:
unzip -q MyApp.ipa -d ipa
plutil -extract DTSDKName raw ipa/Payload/*.app/Info.plist
plutil -extract DTXcode raw ipa/Payload/*.app/Info.plist
App Store-ba szánt buildnél az első értéknek iphoneos26-tal kell kezdődnie. A második az Xcode verzióját kódolja: a Nolera egy Xcode 26.2-vel szimulátorra készült buildjénél 2620-at kapok. Ha iphoneos18-at vagy 16-tal kezdődő értéket látsz, a buildet elutasítják.
Ha a saját Maceden fordítasz, a te Xcode-od számít, nem az EAS image. Az xcodebuild -version kiírja az aktív verziót. CI-ban ugyanez a logika: az Xcode verziója a választott géptől függ. 2024-ben az Apple fórumán fejlesztők azért kaptak ITMS-90725-öt, mert a GitHub Actions gépük az Xcode 15-höz túl régi macOS-en futott.
Ha beküldted a jó buildet, teszteld TestFlightban, mielőtt review-ra küldöd. Egy új build a review-n is újra átmegy, az App Store jóváhagyási idő cikkben leírt határidőkkel.
Küldd be a buildedet kellemetlen meglepetés nélkül
Az ITMS-90725 egy perc alatt megelőzhető: minden production build előtt ellenőrizd az image-et és az SDK-t. A többi automatikus ellenőrzés ugyanilyen alaposságot kíván, például az ITMS-90683 az engedélykérő szövegeknél. Egy reviewer elutasítása több rálátást igényel: a teendőket az Apple által elutasított app oldalon találod, a leggyakoribb okokat pedig a miért utasítja el az Apple az appodat cikkben.
Hogy beküldés előtt átnézd az anyagodat, a Review Kit összegyűjti a checklistemet és Claude Code skilleket, amelyek átolvassák a projektedet. Ha elakadt a beküldésed, és emberi szemre van szükséged, foglalj velem egy órát: videohívásban, a te képernyődön nézzük át a projektedet. Ha pedig az első kiadásodra készülsz, csináld meg az ingyenes diagnosztikát: sorba rakja a lépéseket, és elküldi az Apple-elutasítás elleni checklistemet.
Gyakori kérdések
Megakadályozza az ITMS-90725 az appom kiadását?
Az Apple által megszabott határidő után igen: a buildet már nem fogadják el, újat kell fordítani. A határidő előtt csak figyelmeztetés: a build átmegy, de a következőt elutasítják, ha ugyanígy fordítod.
Le kell mondanom a régi iPhone-okról, hogy iOS 26 SDK-val fordíthassak?
Nem. A fordítási SDK és a minimális iOS verzió két külön beállítás. Expóval az Expo SDK verziód határozza meg ezt a minimumot: iOS 15.1 az SDK 54-hez és 55-höz, iOS 16.4 az SDK 56-hoz és 57-hez.
Javítható az ITMS-90725 egy távoli frissítéssel?
Nem. Az SDK fordításkor kerül be a binárisba. Egy távoli frissítés csak a JavaScriptet és az erőforrásokat cseréli. Újra kell buildelned Xcode 26-tal, és újra beküldeni.
Honnan tudom, milyen Xcode verziót használ az EAS?
Nyisd meg a buildod logjait az expo.dev-en, a „Spin up build environment” szakaszt. Az image neve mutatja az Xcode verzióját, például macos-tahoe-26.5-xcode-26.6. A teljes lista az EAS infrastruktúra dokumentációjában van.
Mit változtat a 2027. áprilisi követelmény?
Az Apple beküldési oldala szerint az iOS 27 SDK-val kell majd fordítani, és legalább iOS 15-öt kell célozni. Az EAS oldalán az Expo Xcode 27-es image-et tervez a jövőbeli SDK 58-hoz: fordítás előtt nézd meg a build image-ek listáját. Tavasszal olvasd át újra az Apple oldalát, hogy megtudd a pontos napot.

