Перша публікація iOS-застосунку в App Store займає значно більше часу, ніж очікують. Не через технічну складність — а через ланцюжок кроків, кожен з яких можна виконати неправильно та отримати reject через 24–48 годин. Застосунок, відправлений на рев’ю в п’ятницю з помилкою в метаданих, повернеться в понеділок з формальною відмовою за Guideline 2.1 «Performance: App Completeness». Ми у своїй практиці стикалися з такими ситуаціями десятки разів — тому підготували це керівництво, засноване на досвіді публікації понад 50 проєктів. Згідно з App Store Review Guidelines, застосунок має бути повноцінним та стабільним. Для публікації потрібна підписка Apple Developer Program ($99/рік) — це єдиний обов’язковий платіж.
Як підготуватися до публікації iOS-застосунку?
Підготовка App Store Connect: створити запис застосунку, вказати Bundle ID (має збігатися з тим, що в Xcode), Primary Language, Category. Без створення запису Transporter та Xcode Organizer не можуть завантажити білд.
Скріншоти: мінімально обов’язкові розміри для публікації — 6.5" (iPhone 14 Pro Max або аналог) та 5.5" (iPhone 8 Plus). Якщо завантажити лише один розмір — Apple масштабує для інших, але це погіршує візуальну якість лістингу. Для iPad — окремий набір, якщо застосунок підтримує iPad.
Конфіденційність: сьогодні обов’язкове посилання на Privacy Policy. Без неї — reject за Guideline 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 ExportOptions.plist — ключовий файл. Неправильний method (app-store vs ad-hoc vs development) — і білд створиться, але не підійде для завантаження.
<!-- 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 прибрала його. Якщо в проєкті старі налаштування з ENABLE_BITCODE = YES, виникнуть попередження при архівуванні.
Використання Fastlane скорочує час підготовки релізу в 3-5 разів порівняно з ручним архівуванням — особливо корисно при частих правках. Економія часу завдяки Fastlane знижує витрати на реліз на $300–750 за одну публікацію.
| Крок | Ручний метод | Fastlane |
|---|---|---|
| Архівація | xcodebuild archive | fastlane gym |
| Підписання | manual codesign | automatic sign |
| Завантаження | Transporter | fastlane pilot |
| Час | 20–30 хв | 3–5 хв |
Чому App Store рев’ю відхиляє застосунки?
Рев’ю триває від кількох годин до 2–3 днів. Основні причини reject:
Guideline 2.1 — App Completeness: застосунок падає, демо-акаунт не працює, кнопки ведуть в нікуди. Перед відправкою — протестувати на реальному пристрої, не лише симуляторі. Надати тестовий акаунт в Notes to App Review.
Guideline 4.3 — Spam / Copycat: якщо застосунок надто схожий на інший або має замало функціоналу. Новий застосунок від того ж розробника, який дублює вже опублікований — також 4.3.
Guideline 5.1.2 — Data Use and Sharing: запитуєте NSCameraUsageDescription, але камеру реально не використовуєте — відмова. Опис в NSUsageDescription має відповідати реальному використанню.
In-App Purchase: якщо в застосунку є будь-який платний контент або підписки — вони повинні використовувати IAP Apple, не сторонні платіжки. Спроба прийняти оплату через Stripe за цифровий контент — reject за Guideline 3.1.1.
| Guideline | Типова причина | Рішення |
|---|---|---|
| 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. Phased Release розгортає оновлення поступово: 1% → 2% → 5% → 10% → 20% → 50% → 100% користувачів протягом 7 днів. Дозволяє виявити критичні баги до масового оновлення.
Версію та build number потрібно збільшувати з кожним новим завантаженням. CFBundleShortVersionString (видима, наприклад 2.1.0) та CFBundleVersion (build number, тільки зростає). Однаковий build number — Transporter відмовить при завантаженні.
Що входить в роботу з публікації
- Створення та налаштування запису в App Store Connect (Bundle ID, права, категорії).
- Підготовка скріншотів для всіх обов’язкових розмірів.
- Налаштування ExportOptions.plist та підписання коду (code signing).
- Завантаження білда через Fastlane або Transporter.
- Супровід рев’ю: відповіді на запитання, виправлення зауважень.
- Налаштування Phased Release та моніторинг перших відгуків.
- Надання документації та доступів (App Store Connect, TestFlight).
Процес роботи
- Підготовка App Store Connect: створення запису, Privacy Policy, Nutrition Labels, скріншоти.
- Налаштування архівування: Signing Config, ExportOptions.plist, перевірка entitlements.
- Завантаження білда через Transporter або Fastlane, заповнення метаданих.
- Супровід через рев’ю: відповіді на запитання рев’юерів, виправлення зауважень.
Орієнтири за термінами
Підготовка та первинна відправка готового застосунку — 1–2 дні. З урахуванням рев’ю Apple (зазвичай 1–3 дні) — 3–5 робочих днів до публікації. При reject та необхідності доопрацювань — додати ще 1–3 дні.
Ми публікуємо застосунки в App Store понад 7 років — знаємо всі тонкощі та гарантуємо проходження рев’ю з першого разу при виконанні наших рекомендацій. Якщо потрібна допомога з публікацією — оцінимо ваш проєкт та підготуємо все для App Store. Зв’яжіться з нами, щоб розпочати.







