פרסום אפליקציית iOS ב-App Store אורך משמעותית יותר זמן מהצפוי—לא בשל מורכבות טכנית, אלא בשל שרשרת שלבים שבכל אחד מהם ניתן לטעות, מה שמוביל לדחייה לאחר 24–48 שעות. אפליקציה שהוגשה ביום שישי עם שגיאת מטא-דאטה תחזור ביום שני עם דחייה רשמית לפי הנחיה 2.1 "ביצועים: שלמות האפליקציה". נתקלנו במצבים כאלה עשרות פעמים, ולכן הכנו מדריך זה על סמך ניסיוננו בפרסום מעל 50 פרויקטים. לפי הנחיות בדיקת ה-App Store, האפליקציה חייבת להיות מלאה ויציבה. מנוי לתוכנית Apple Developer ($99 לשנה) הוא התשלום החובה היחיד.
כיצד להתכונן לפרסום אפליקציית iOS
הגדרת App Store Connect: צור רשומת אפליקציה, ציין את ה-Bundle ID (חייב להתאים לזה שב-Xcode), שפה ראשית (Primary Language) וקטגוריה. ללא רשומה, Transporter ו-Xcode Organizer לא יוכלו להעלות את ה-build.
צילומי מסך: הגדלים המינימליים החובה לפרסום הם 6.5" (iPhone 14 Pro Max או מקביל) ו-5.5" (iPhone 8 Plus). העלאת גודל אחד בלבד מאלצת את Apple לבצע קנה מידה לגדלים אחרים, מה שפוגע באיכות הוויזואלית של הרישום. עבור iPad, נדרשת ערכה נפרדת אם האפליקציה תומכת ב-iPad.
פרטיות: קישור למדיניות פרטיות הוא חובה כיום. בלעדיו, דחייה לפי הנחיה 5.1.1. כמו כן, מלא את תוויות התזונה לפרטיות (Privacy Nutrition Labels) ב-App Store Connect—אילו נתונים נאספים, לאיזו מטרה, והאם הם מקושרים לזהות.
ארכוב והעלאה
# Через Fastlane
fastlane pilot upload --ipa ./build/App.ipa
# Или через xcodebuild + Transporter
xcodebuild archive \
-scheme MyApp \
-archivePath ./build/MyApp.xcarchive \
-configuration Release
xcodebuild -exportArchive \
-archivePath ./build/MyApp.xcarchive \
-exportPath ./build/export \
-exportOptionsPlist ExportOptions.plist# Через Fastlane fastlane pilot upload --ipa ./build/App.ipa # Или через xcodebuild + Transporter xcodebuild archive \ -scheme MyApp \ -archivePath ./build/MyApp.xcarchive \ -configuration Release xcodebuild -exportArchive \ -archivePath ./build/MyApp.xcarchive \ -exportPath ./build/export \ -exportOptionsPlist ExportOptions.plist הוא קובץ מפתח. ExportOptions.plist שגוי (method לעומת app-store לעומת ad-hoc) ייצור build אך לא כזה שמתאים להעלאה.
<!-- ExportOptions.plist для App Store -->
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>YOURTEAMID</string>
<key>uploadBitcode</key>
<false/>
<key>compileBitcode</key>
<false/>
</dict>
</plist>Bitcode הוצא משימוש בגרסאות Xcode האחרונות—Apple הסירה אותו. אם לפרויקט יש הגדרות ישנות עם development, הארכוב יפיק אזהרות.
שימוש ב-Fastlane מקצר את זמן הכנת השחרור פי 3–5 בהשוואה לארכוב ידני—שימושי במיוחד לתיקונים תכופים. בפרויקטים שלנו, Fastlane חוסך $300–$750 לכל שחרור על ידי צמצום המאמץ הידני.
| שלב | שיטה ידנית | Fastlane |
|---|---|---|
| ארכוב | xcodebuild archive | fastlane gym |
| חתימה | codesign ידני | חתימה אוטומטית |
| העלאה | Transporter | fastlane pilot |
| זמן | 20–30 דקות | 3–5 דקות |
מדוע בדיקת ה-App Store דוחה אפליקציות
הבדיקה אורכת בין מספר שעות ל-2–3 ימים. סיבות דחייה נפוצות:
הנחיה 2.1 — שלמות האפליקציה: האפליקציה קורסת, חשבון הדמו לא עובד, כפתורים לא מובילים לשום מקום. בדוק על מכשיר פיזי, לא רק על סימולטור. ספק חשבון בדיקה ב-Notes to App Review.
הנחיה 4.3 — ספאם / חיקוי: האפליקציה דומה מדי לאחרת או שיש לה מעט מדי פונקציונליות. אפליקציה חדשה מאותו מפתח שמשכפלת אפליקציה שכבר פורסמה גם היא מעוררת 4.3.
הנחיה 5.1.2 — שימוש ושיתוף נתונים: בקשת NSCameraUsageDescription אך ללא שימוש בפועל במצלמה—דחייה. התיאור חייב להתאים לשימוש בפועל.
רכישה בתוך האפליקציה (In-App Purchase): אם לאפליקציה יש תוכן בתשלום או מנויים, הם חייבים להשתמש ב-Apple IAP, לא במערכות תשלום של צד שלישי. ניסיון לקבל תשלום דרך Stripe עבור תוכן דיגיטלי מוביל לדחייה לפי הנחיה 3.1.1.
| הנחיה | סיבה אופיינית | פתרון |
|---|---|---|
| 2.1 | אפליקציה לא שלמה או קורסת | בדיקות יסודיות על מכשירים פיזיים, מתן גישת דמו |
| 4.3 | העתקה או ספאם | פונקציונליות ייחודית, הבדלים ממתחרים |
| 5.1.2 | אי-התאמה בתיאור שימוש בנתונים | תיאור נכון של NSCameraUsageDescription ומפתחות אחרים |
| 3.1.1 | עקיפת Apple IAP | שימוש ב-StoreKit 2 עבור מוצרים דיגיטליים |
כיצד לערער על דחייה?
השתמש במרכז הפתרון (Resolution Center) ב-App Store Connect. הסבר מדוע ההחלטה לא הוגנת וספק ראיות. צוות Apple Developer Relations משיב תוך 1–3 ימים. ערעורים עובדים: דחיות רשמיות עם נימוק מתאים מתהפכות לעיתים קרובות.ניהול גרסאות ושחרור מדורג
לאחר האישור: בחר בין שחרור מיידי או שחרור מדורג (Phased Release). שחרור מדורג מפיץ עדכון בהדרגה: 1% → 2% → 5% → 10% → 20% → 50% → 100% מהמשתמשים במשך 7 ימים. זה מאפשר לתפוס באגים קריטיים לפני עדכון המוני.
עליך להגדיל את מספר הגרסה ומספר ה-build בכל העלאה חדשה. <!-- ExportOptions.plist для App Store --> <?xml version="1.0" encoding="UTF-8"?> <plist version="1.0"> <dict> <key>method</key> <string>app-store</string> <key>teamID</key> <string>YOURTEAMID</string> <key>uploadBitcode</key> <false/> <key>compileBitcode</key> <false/> </dict> </plist> (גלוי, לדוגמה ENABLE_BITCODE = YES) ו-CFBundleShortVersionString (מספר build, רק עולה). מספר build כפול יגרום ל-Transporter לסרב להעלאה.
מה כוללת עבודת הפרסום
- יצירה והגדרה של רשומת App Store Connect (Bundle ID, הרשאות, קטגוריות)
- הכנת צילומי מסך לכל הגדלים הנדרשים
- הגדרת ExportOptions.plist וחתימת קוד
- העלאת ה-build דרך Fastlane או Transporter
- תמיכה בבדיקה: מענה לשאלות, תיקון בעיות
- הגדרת שחרור מדורג וניטור ביקורות ראשוניות
- מתן תיעוד וגישה (App Store Connect, TestFlight)
תהליך
- הכן את App Store Connect: צור רשומה, מדיניות פרטיות, תוויות תזונה, צילומי מסך
- הגדר ארכוב: Signing Config, ExportOptions.plist, ודא הרשאות (entitlements)
- העלה build דרך Transporter או Fastlane, מלא מטא-דאטה
- תמוך בתהליך הבדיקה: הגב לשאלות הבודק, תקן בעיות
הערכות זמנים
הכנה והגשה ראשונה של אפליקציה מוכנה: 1–2 ימים. כולל בדיקת Apple (בדרך כלל 1–3 ימים): 3–5 ימי עסקים עד לפרסום. אם נדחתה ונדרשים תיקונים: הוסף 1–3 ימים נוספים.
אנו מפרסמים אפליקציות ב-App Store כבר למעלה מ-5 שנים ומכירים את כל הניואנסים. אנו מבטיחים מעבר בבדיקה בניסיון הראשון אם ממלאים אחר ההמלצות שלנו. אם אתה זקוק לעזרה בפרסום, נוכל להעריך את הפרויקט שלך ולהכין הכל עבור ה-App Store. צור קשר כדי להתחיל.







