# ITMS-90725: איך לתקן SDK version issue ב-Expo

> ITMS-90725: האפליקציה שלך קומפלה עם SDK ישן מדי. מאז 28 באפריל 2026 אפל דורשת Xcode 26: עבור ל-SDK 54 של Expo ומעלה ותעשה build חדש.

עמוד מקורי: [ITMS-90725: איך לתקן SDK version issue ב-Expo](https://devoria.fr/he/blog/itms-90725-sdk-version-issue-expo)
כותב: [Mehdi Azizi](https://devoria.fr/he/mehdi-azizi)
פרסום: 2026-11-04
עדכון תוכן אחרון: 2026-11-04


ITMS-90725 היא בדיקה אוטומטית שאפל מריצה על ה-build שלך: היא אומרת שהאפליקציה קומפלה עם SDK של iOS ישן יותר מהמינימום הנדרש. נכון ל-15 באוקטובר 2026, אפל מציינת שמאז 28 באפריל 2026, אפליקציות שנשלחות ל-App Store Connect חייבות להיות מקומפלות עם Xcode 26 ומעלה ועם ה-SDK של iOS 26. **ב-Expo הכול תלוי באימג' ה-build של EAS: החל מ-SDK 54 של Expo, האימג' שנבחר כברירת מחדל כולל Xcode 26.**

האפליקציות שלי, Solys, TradaZen ו-Nolera, נמצאות על SDK 57 של Expo, בלי אימג' מוגדר ידנית ב-eas.json: EAS בוחר לבד את גרסת ה-Xcode. הנה איך לבדוק את שלך, ומה לעשות אם הפרויקט שלך ישן יותר.

## מה המשמעות של השגיאה ITMS-90725?

ההודעה נקראת "ITMS-90725: SDK version issue". היא מציינת עם איזה SDK האפליקציה שלך קומפלה, ואז את המינימום הנדרש ואת גרסת ה-Xcode שכוללת אותו. בפורום המפתחים של אפל, הודעה מ-2024 התחילה למשל כך: "This app was built with the iOS 16.2 SDK", ואחריה הדרישה של אותה תקופה.

ה-SDK הוא אוסף הספריות של iOS ש-Xcode משתמש בהן כדי לקמפל את האפליקציה. כל גרסה של Xcode מגיעה עם SDK משלה: Xcode 26 כולל את ה-SDK של iOS 26. **לקמפל עם SDK חדש לא אומר לוותר על אייפונים ישנים.** גרסת ה-iOS המינימלית שהאפליקציה שלך תומכת בה היא הגדרה נפרדת, ה-deployment target.

כמו שאר שגיאות ה-ITMS, זו לא דחייה של reviewer. הבדיקה אוטומטית ונוגעת לקובץ הבינארי ששלחת.

## איזו גרסת Xcode אפל דורשת היום?

הנה מה שכתוב בעמוד [הדרישות הקרובות של אפל](https://developer.apple.com/news/upcoming-requirements/) ובעמוד [ההגשה ל-App Store](https://developer.apple.com/app-store/submitting/), נכון ל-15 באוקטובר 2026:

| תאריך          | דרישה                     |
| -------------- | ------------------------- |
| 28 באפריל 2026 | Xcode 26, SDK של iOS 26   |
| 9 בספטמבר 2026 | יעד מינימלי iOS 13        |
| אפריל 2027     | SDK של iOS 27, יעד iOS 15 |

הכלל שמפעיל את ITMS-90725 הוא הראשון. build שנעשה עם Xcode 16 ועם ה-SDK של iOS 18 כבר לא מתקבל. הכלל השני נוגע לגרסה המינימלית שאתה מכוון אליה, לא ל-SDK. השלישי הוכרז לאפריל 2027, בלי יום מדויק בעמוד בזמן הבדיקה. אפל כבר ממליצה לקמפל ולבדוק עם Xcode 27.

**הדרישה הזאת עולה באופן קבוע, ותמיד באביב.** אותו עמוד של אפל שומר תיעוד של כמה מועדים: Xcode 14.1 ב-25 באפריל 2023, Xcode 15 ב-29 באפריל 2024, Xcode 26 ב-28 באפריל 2026. לפני כל אביב, תקרא אותו שוב במקום לסמוך על מאמר, כולל המאמר הזה.

## אזהרה או חסימה: איך מבדילים?

לפני המועד, ITMS-90725 מגיעה כאזהרה. ב-2024, בפורום של אפל, המייל ציין שהמסירה הצליחה והמליץ לתקן בהעלאה הבאה. אחרי המועד, אפל כותבת שאפליקציות "חייבות" להיות מקומפלות עם ה-SDK הנדרש כדי שאפשר יהיה לשלוח אותן: ה-build כבר לא מתקבל.

| סימן          | אזהרה         | חסימה      |
| ------------- | ------------- | ---------- |
| תאריך השליחה  | לפני המועד    | אחרי המועד |
| השליחה התקבלה | כן            | לא         |
| מה אתה עושה   | מתקן בבא בתור | build חדש  |

**אזהרת ITMS-90725 היא ספירה לאחור.** ה-build עובר היום, אבל הבא, אם יקומפל באותה דרך, יידחה אחרי התאריך. תתקן את זה כל עוד אתה לא בלחץ של עדכון דחוף.

## לתקן את ITMS-90725 בפרויקט Expo

עם EAS, האפליקציה שלך מקומפלת על המקים של Expo, כמו שאני מסביר ב[לפרסם אפליקציית iOS בלי Mac](https://devoria.fr/he/blog/publish-ios-app-without-mac-expo-eas). גרסת ה-Xcode תלויה באימג' ה-build. אם לא הגדרת `image` ב-eas.json, ‏EAS משתמש בכינוי `auto`: הוא בוחר את האימג' לפי גרסת ה-SDK של Expo שלך.

הנה האימג' שמשויך לכל SDK לפי [התיעוד של תשתית EAS](https://docs.expo.dev/build-reference/infrastructure/), שעודכן ב-8 באוקטובר 2026:

| SDK של Expo | ה-Xcode באימג' | ITMS-90725 |
| ----------- | -------------- | ---------- |
| 57          | 26.6           | לא         |
| 56          | 26.4           | לא         |
| 55          | 26.2           | לא         |
| 54          | 26.0           | לא         |
| 53          | 16.4           | כן         |
| 52          | 16.2           | כן         |

1. **תבדוק באיזה אימג' השתמש ה-build האחרון שלך.** בעמוד ה-build ב-expo.dev, החלק "Spin up build environment" בלוגים מציג את השם שלו ואת גרסת ה-Xcode.
2. **אם אתה על SDK 54 ומעלה, תחפש אימג' שהוגדר ידנית.** שורת `image` שמצביעה על Xcode 16, כמו `macos-sequoia-15.6-xcode-16.4`, מספיקה כדי לגרום לשגיאה. התיעוד של Expo מציג אותו כאימג' של SDK 54 למי שלא רוצה Xcode 26: מאז 28 באפריל 2026, הבחירה הזאת מובילה לדחייה. תמחק את השורה: EAS יחזור לאימג' ברירת המחדל.
3. **אם אתה על SDK 53 ומטה, תשדרג SDK.** זו ההמלצה של Expo ב[הודעה שלה מ-27 באפריל 2026](https://expo.dev/blog/app-store-connect-minimum-sdk-26): לעבור לפחות ל-SDK 54.
4. **תעשה build מחדש ותשלח אותו שוב.** ה-SDK נצרב בבינארי: עדכון מרחוק לא משנה כלום.

### פתרון זמני ל-SDK ישן

באותה הודעה Expo נותנת אפשרות אם אתה לא יכול לשדרג מיד: להגדיר ידנית אימג' עם Xcode 26 ב-eas.json, בפרופיל ה-production שלך.

```json
{
  "build": {
    "production": {
      "ios": {
        "image": "macos-sequoia-15.6-xcode-26.2"
      }
    }
  }
}
```

Expo מזהירה: לא כל גרסאות ה-SDK תואמות ל-Xcode 26, והתוצאה תלויה גם בספריות שלך. **תתייחס לזה כאל דחייה, לא כאל תיקון.** אם ה-build נכשל בקומפילציה, הדרך היחידה שנשארת היא לשדרג SDK.

### לשדרג SDK, גרסה אחת בכל פעם

[מדריך העדכון של Expo](https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/) ממליץ לעלות גרסה אחת בכל פעם, כדי לזהות מה נשבר בכל שלב. כדי לעבור מ-SDK 53 ל-SDK 54:

```bash
npm install expo@^54.0.0
npx expo install --fix
npx expo-doctor
```

אם תיקיית ה-`ios` שלך נוצרת על ידי Expo, תמחק אותה: היא תיווצר מחדש ב-build הבא. אחר כך תבדוק את האפליקציה על האייפון שלך לפני שאתה ממשיך לגרסה הבאה.

נקודה שכדאי לדעת לפני שמכוונים ל-SDK האחרון. לפי [טבלת הגרסאות של Expo](https://docs.expo.dev/versions/latest/), SDK 54 ו-55 תומכים ב-iOS 15.1 ומעלה, ו-SDK 56 ו-57 רק ב-iOS 16.4 ומעלה. **מעבר ל-SDK 56 משאיר בחוץ אייפונים שנשארו על iOS 15.** SDK 54 מספיק כדי להיפטר מ-ITMS-90725.

## לבדוק את ה-SDK של build לפני השליחה

Xcode רושם ב-Info.plist של כל build את ה-SDK ואת גרסת ה-Xcode שבהם השתמש. תוריד את ה-IPA מעמוד ה-build ב-expo.dev, ואז תריץ על ה-Mac שלך:

```bash
unzip -q MyApp.ipa -d ipa
plutil -extract DTSDKName raw ipa/Payload/*.app/Info.plist
plutil -extract DTXcode raw ipa/Payload/*.app/Info.plist
```

ל-build שמיועד ל-App Store, הערך הראשון צריך להתחיל ב-`iphoneos26`. השני מקודד את גרסת ה-Xcode: ב-build של Nolera שנעשה עם Xcode 26.2 לסימולטור, אני מקבל `2620`. אם אתה רואה `iphoneos18` או ערך שמתחיל ב-`16`, ה-build יידחה.

אם אתה מקמפל על ה-Mac שלך, מה שקובע הוא ה-Xcode שלך, לא האימג' של EAS. ‏`xcodebuild -version` מציג את הגרסה הפעילה. אותו היגיון ב-CI: גרסת ה-Xcode תלויה במכונה שבחרת. ב-2024, בפורום של אפל, מפתחים קיבלו ITMS-90725 כי מכונת ה-GitHub Actions שלהם רצה על macOS ישן מדי בשביל Xcode 15.

אחרי ששלחת את ה-build הנכון, תבדוק אותו ב-[TestFlight](https://devoria.fr/he/blog/testflight-test-iphone-app-before-submission) לפני שאתה מגיש. build חדש עובר גם הוא שוב בדיקה, עם הזמנים שמתוארים ב[זמן האישור ב-App Store](https://devoria.fr/he/blog/app-store-review-time-how-long).

## לשלוח את ה-build בלי הפתעות

את ITMS-90725 אפשר למנוע בדקה: תבדוק את האימג' ואת ה-SDK לפני כל build של production. הבדיקות האוטומטיות האחרות דורשות אותה הקפדה, כמו [ITMS-90683](https://devoria.fr/he/blog/itms-90683-missing-purpose-string-expo) למשפטי ההרשאות. דחיות של reviewer דורשות יותר פרספקטיבה: התהליך מופיע בעמוד [אפליקציה שנדחתה על ידי אפל](https://devoria.fr/he/expertise/app-rejected-by-apple), והסיבות הנפוצות ביותר נמצאות ב[למה אפל דוחה אפליקציה](https://devoria.fr/he/blog/apple-app-rejection-reasons-real-cases).

כדי לבדוק את ההגשה שלך לפני השליחה, ה-[Review Kit](https://devoria.fr/he/kits/app-review) מרכז את הצ'קליסט שלי ו-skills של Claude Code שעוברים על הפרויקט שלך. אם השליחה שלך תקועה ואתה רוצה עין אנושית, [תקבע איתי שעה](https://devoria.fr/he/coaching): נעבור על הפרויקט שלך בווידאו, על המסך שלך. ואם אתה מכין את ההשקה הראשונה שלך, [תעשה את האבחון החינמי](https://devoria.fr/he/diagnostic): הוא מסדר את השלבים לפי הסדר ושולח לך את הצ'קליסט שלי נגד דחיות של אפל.

## שאלות נפוצות

### האם ITMS-90725 מונעת ממני לפרסם את האפליקציה?

אחרי המועד שאפל קבעה, כן: ה-build כבר לא מתקבל וצריך לקמפל חדש. לפני המועד, זו אזהרה: ה-build עובר, אבל הבא יידחה אם יקומפל באותה דרך.

### צריך לוותר על אייפונים ישנים כדי לקמפל עם ה-SDK של iOS 26?

לא. ה-SDK של הקומפילציה וגרסת ה-iOS המינימלית הן שתי הגדרות נפרדות. ב-Expo, גרסת ה-SDK של Expo היא שקובעת את המינימום הזה: iOS 15.1 ל-SDK 54 ו-55, ו-iOS 16.4 ל-SDK 56 ו-57.

### אפשר לתקן את ITMS-90725 עם עדכון מרחוק?

לא. ה-SDK נרשם בבינארי בזמן הקומפילציה. עדכון מרחוק משנה רק את ה-JavaScript ואת המשאבים. צריך לעשות build חדש עם Xcode 26 ולשלוח אותו שוב.

### איך יודעים באיזו גרסת Xcode משתמש EAS?

תפתח את הלוגים של ה-build שלך ב-expo.dev, בחלק "Spin up build environment". שם האימג' מציין את גרסת ה-Xcode, למשל `macos-tahoe-26.5-xcode-26.6`. הרשימה המלאה נמצאת בתיעוד של תשתית EAS.

### מה תשנה הדרישה של אפריל 2027?

לפי עמוד ההגשה של אפל, יהיה צריך לקמפל עם ה-SDK של iOS 27 ולכוון לפחות ל-iOS 15. בצד של EAS, Expo מתכננת אימג' עם Xcode 27 ל-SDK 58 העתידי שלה: תבדוק את רשימת אימג'י ה-build לפני שאתה מקמפל. תקרא שוב את העמוד של אפל באביב כדי לדעת את היום המדויק.


## הפרויקט שלך

[Review Kit](https://devoria.fr/he/kits/app-review): הצ'קליסט שלי לבדיקת App Store, הדחיות שקיבלתי מ-Apple ואיך תיקנתי אותן, הצ'קליסט ל-Google Play ושלושה skills ל-Claude Code. ‏169 ‏⁦₪⁩.

[iOS & Android Kit](https://devoria.fr/he/kits/ios): תבנה אפליקציה לאייפון ולאנדרואיד עם Claude Code: קוד ההתחלה של האפליקציות שלי, כל הדרך עד החנויות וכל הקיטים. ‏349 ‏⁦₪⁩.

[אבחון: מה מפריד בינך לבין אפליקציית האייפון שלך](https://devoria.fr/he/diagnostic): 7 שאלות, 60 שניות: תדע מה באמת חוסם אותך מלפרסם את אפליקציית האייפון שלך, תקבל מסלול ב-4 שלבים ואת הקיט שמתאים לך.
