ITMS-90725: SDK version issue -virheen korjaus Expolla
Kirjoittaja: Mehdi Azizi
Julkaistu , 7 min
ITMS-90725: appisi on käännetty liian vanhalla iOS SDK:lla. Apple vaatii Xcode 26:n: päivitä Expo SDK 54:ään ja tee uusi build.
ITMS-90725 on Applen automaattinen tarkistus, joka kohdistuu buildiisi. Se kertoo, että appi on käännetty vanhemmalla iOS SDK:lla kuin vaadittu minimi. Applen mukaan 15. lokakuuta 2026 tilanne on tämä: 28. huhtikuuta 2026 lähtien App Store Connectiin lähetetyt appit pitää kääntää Xcode 26:lla tai uudemmalla ja iOS 26 SDK:lla. Expossa kaikki ratkeaa EAS:n build-imagessa: Expo SDK 54:stä alkaen oletuksena valittavassa imagessa on Xcode 26.
Omat appini Solys, TradaZen ja Nolera ovat Expon SDK 57:ssä, eikä eas.json-tiedostossa ole pakotettua imagea: EAS valitsee Xcode-version itse. Näin tarkistat omasi ja näin toimit, jos projektisi on vanhempi.
Mitä ITMS-90725-virhe tarkoittaa?
Viestin otsikko on "ITMS-90725: SDK version issue". Siinä kerrotaan SDK, jolla appisi on käännetty, sitten vaadittu minimi ja Xcode-versio, joka sen sisältää. Applen kehittäjäfoorumilla vuonna 2024 julkaistu viesti alkoi esimerkiksi näin: "This app was built with the iOS 16.2 SDK", ja perässä oli sen ajan vaatimus.
SDK on kokoelma iOS:n kirjastoja, joilla Xcode kääntää appisi. Jokaisessa Xcode-versiossa on oma SDK:nsa: Xcode 26 sisältää iOS 26 SDK:n. Uudella SDK:lla kääntäminen ei tarkoita, että vanhat iPhonet jäisivät pois. Pienin iOS-versio, jota appisi tukee, on erillinen asetus: deployment target.
Kuten muutkin ITMS-virheet, tämä ei ole reviewerin hylkäys. Tarkistus on automaattinen ja koskee lähetettyä binääriä.
Mitä Xcode-versiota Apple vaatii nyt?
Tässä on, mitä Applen tulevien vaatimusten sivu ja App Store -lähetyksen sivu sanoivat 15. lokakuuta 2026:
| Päivämäärä | Vaatimus |
|---|---|
| 28.4.2026 | Xcode 26, iOS 26 SDK |
| 9.9.2026 | Kohde vähintään iOS 13 |
| Huhtikuu 2027 | iOS 27 SDK, kohde iOS 15 |
ITMS-90725:n laukaisee ensimmäinen sääntö. Xcode 16:lla ja iOS 18 SDK:lla tehtyä buildia ei enää hyväksytä. Toinen koskee pienintä tuettua versiota, ei SDK:ta. Kolmas on ilmoitettu huhtikuulle 2027, eikä sivulla ollut tarkistushetkellä tarkkaa päivää. Apple kehottaa jo nyt kääntämään ja testaamaan Xcode 27:llä.
Tämä vaatimus nousee säännöllisesti, ja aina keväällä. Samalla Applen sivulla näkyy useita aiempia määräaikoja: Xcode 14.1 25.4.2023, Xcode 15 29.4.2024, Xcode 26 28.4.2026. Lue sivu ennen jokaista kevättä sen sijaan, että luottaisit johonkin artikkeliin, tämä mukaan lukien.
Varoitus vai esto: miten erotat ne?
Ennen määräaikaa ITMS-90725 tulee varoituksena. Vuonna 2024 Applen foorumilla sähköpostissa kerrottiin, että toimitus onnistui, ja neuvottiin korjaamaan asia seuraavassa lähetyksessä. Määräajan jälkeen Apple kirjoittaa, että appit "täytyy" kääntää vaaditulla SDK:lla, jotta ne voi lähettää: buildia ei enää hyväksytä.
| Vihje | Varoitus | Esto |
|---|---|---|
| Lähetyspäivä | Ennen määräaikaa | Määräajan jälkeen |
| Lähetys hyväksytty | Kyllä | Ei |
| Mitä teet | Korjaat seuraavaan | Uusi build |
ITMS-90725-varoitus on lähtölaskenta. Build menee läpi tänään, mutta seuraava samalla tavalla käännetty hylätään määräajan jälkeen. Korjaa se silloin, kun sinulla ei ole kiireellistä päivitystä painamassa päälle.
ITMS-90725:n korjaus Expo-projektissa
EAS:llä appisi käännetään Expon Maceilla, kuten selitän jutussa iOS-appin julkaisu ilman Macia. Xcode-versio riippuu build-imagesta. Jos et määritä image-kenttää eas.json-tiedostossa, EAS käyttää aliasta auto: se valitsee imagen Expo SDK -versiosi mukaan.
Tässä kunkin SDK:n image EAS-infrastruktuurin dokumentaation mukaan, päivitetty 8.10.2026:
| Expo SDK | Imagen Xcode | ITMS-90725 |
|---|---|---|
| 57 | 26.6 | Ei |
| 56 | 26.4 | Ei |
| 55 | 26.2 | Ei |
| 54 | 26.0 | Ei |
| 53 | 16.4 | Kyllä |
| 52 | 16.2 | Kyllä |
- Katso, mitä imagea viimeisin buildisi käytti. expo.devin build-sivulla lokien kohta "Spin up build environment" näyttää imagen nimen ja Xcode-version.
- Jos olet SDK 54:ssä tai uudemmassa, etsi pakotettu image. Yksikin Xcode 16:een osoittava
image-rivi, kutenmacos-sequoia-15.6-xcode-16.4, riittää aiheuttamaan virheen. Expon dokumentaatio esittelee sen SDK 54:n imagena niille, jotka eivät halua Xcode 26:ta: 28.4.2026 lähtien tämä valinta johtaa hylkäykseen. Poista rivi, niin EAS palaa oletusimageen. - Jos olet SDK 53:ssa tai vanhemmassa, päivitä SDK. Tätä Expo suosittelee 27.4.2026 julkaistussa tiedotteessaan: siirry vähintään SDK 54:ään.
- Tee uusi build ja lähetä se. SDK on lukittu binääriin: etäpäivitys ei muuta mitään.
Hätäratkaisu vanhalle SDK:lle
Samassa Expon tiedotteessa annetaan vaihtoehto, jos et voi päivittää heti: pakota Xcode 26 -image eas.json-tiedostoon production-profiiliisi.
{
"build": {
"production": {
"ios": {
"image": "macos-sequoia-15.6-xcode-26.2"
}
}
}
}
Expo varoittaa: kaikki SDK-versiot eivät ole yhteensopivia Xcode 26:n kanssa, ja lopputulos riippuu myös kirjastoistasi. Pidä tätä lisäaikana, ei korjauksena. Jos build kaatuu käännösvaiheessa, ainoa tie on SDK:n päivitys.
SDK:n päivitys versio kerrallaan
Expon päivitysopas suosittelee päivittämään yhden version kerrallaan, jotta näet, mikä hajoaa missäkin vaiheessa. Siirtyminen SDK 53:sta SDK 54:ään:
npm install expo@^54.0.0
npx expo install --fix
npx expo-doctor
Jos ios-kansiosi on Expon generoima, poista se: se luodaan uudelleen seuraavassa buildissa. Testaa sitten appi iPhonellasi ennen kuin jatkat seuraavaan versioon.
Yksi asia kannattaa tietää ennen kuin tähtäät uusimpaan SDK:hon. Expon versiotaulukon mukaan SDK 54 ja 55 tukevat iOS 15.1:tä ja uudempia, SDK 56 ja 57 vain iOS 16.4:ää ja uudempia. SDK 56:een siirtyminen jättää siis pois iPhonet, jotka ovat jääneet iOS 15:een. SDK 54 riittää poistamaan ITMS-90725:n.
Buildin SDK:n tarkistus ennen lähetystä
Xcode kirjaa jokaisen buildin Info.plist-tiedostoon käytetyn SDK:n ja Xcode-version. Lataa IPA expo.devin build-sivulta ja aja Macillasi:
unzip -q MonApp.ipa -d ipa
plutil -extract DTSDKName raw ipa/Payload/*.app/Info.plist
plutil -extract DTXcode raw ipa/Payload/*.app/Info.plist
App Storeen menevässä buildissa ensimmäisen arvon pitää alkaa iphoneos26. Toinen koodaa Xcode-version: Xcode 26.2:lla simulaattorille tehdystä Noleran buildista saan 2620. Jos näet iphoneos18 tai arvon, joka alkaa 16, build hylätään.
Jos käännät omalla Macillasi, ratkaisee oma Xcodesi, ei EAS:n image. xcodebuild -version näyttää aktiivisen version. Sama logiikka pätee jatkuvassa integraatiossa: Xcode-versio riippuu valitusta koneesta. Vuonna 2024 Applen foorumilla kehittäjät saivat ITMS-90725:n, koska heidän GitHub Actions -koneensa pyöri liian vanhalla macOS:llä Xcode 15:lle.
Kun oikea build on lähetetty, testaa se TestFlightissa ennen kuin lähetät sen arvioon. Uusi build käy myös läpi arvioinnin, ja sen kestot on kuvattu jutussa App Storen arvioinnin kesto.
Lähetä buildisi ilman ikäviä yllätyksiä
ITMS-90725:n ehkäisee minuutissa: tarkista image ja SDK ennen jokaista production-buildia. Muut automaattiset tarkistukset vaativat samaa huolellisuutta, kuten ITMS-90683 lupatekstien kohdalla. Reviewerin hylkäykset vaativat enemmän harkintaa: toimintatapa on sivulla Applen hylkäämä appi, ja yleisimmät syyt löytyvät jutusta miksi Apple hylkää appin.
Jos haluat tarkistaa kokonaisuuden ennen lähetystä, Review Kit sisältää tarkistuslistani ja Claude Code -skillejä, jotka käyvät projektisi läpi. Jos lähetyksesi jumittaa ja haluat ihmisen silmät asiaan, varaa tunti kanssani: käydään projektisi läpi videopuhelussa, sinun näytölläsi. Ja jos valmistelet ensimmäistä julkaisuasi, tee ilmainen diagnoosi: se laittaa vaiheet oikeaan järjestykseen ja lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen.
Usein kysytyt kysymykset
Estääkö ITMS-90725 appini julkaisun?
Applen asettaman määräajan jälkeen kyllä: buildia ei enää hyväksytä, ja sinun pitää kääntää uusi. Ennen määräaikaa se on varoitus: build menee läpi, mutta seuraava hylätään, jos se käännetään samalla tavalla.
Pitääkö vanhat iPhonet jättää pois, jos käännän iOS 26 SDK:lla?
Ei. Käännöksen SDK ja pienin iOS-versio ovat kaksi erillistä asetusta. Expossa minimin määrää Expo SDK -versiosi: iOS 15.1 SDK 54:ssä ja 55:ssä, iOS 16.4 SDK 56:ssa ja 57:ssä.
Voiko ITMS-90725:n korjata etäpäivityksellä?
Ei. SDK kirjataan binääriin käännöksen yhteydessä. Etäpäivitys muuttaa vain JavaScriptiä ja resursseja. Sinun pitää tehdä uusi build Xcode 26:lla ja lähettää se.
Mistä näen, mitä Xcode-versiota EAS käyttää?
Avaa buildisi lokit expo.devissä, kohta "Spin up build environment". Imagen nimi kertoo Xcode-version, esimerkiksi macos-tahoe-26.5-xcode-26.6. Koko lista on EAS-infrastruktuurin dokumentaatiossa.
Mitä huhtikuun 2027 vaatimus muuttaa?
Applen lähetyssivun mukaan pitää kääntää iOS 27 SDK:lla ja tukea vähintään iOS 15:tä. EAS:n puolella Expo suunnittelee Xcode 27 -imagea tulevalle SDK 58:lle: tarkista build-imagejen lista ennen kääntämistä. Lue Applen sivu keväällä, niin tiedät tarkan päivän.

