App Review — to proces weryfikacji aplikacji przed publikacją w App Store. Każda aplikacja przechodzi moderację pod kątem zgodności z zasadami Apple: bezpieczeństwo, poufność, jakość interfejsu i stabilność działania. Według danych Apple Developer Guidelines, 2024, 48 godzin — średni czas weryfikacji po złożeniu wniosku. Znajomość kryteriów review pomaga programistom przejść moderację za pierwszym razem.
Najważniejsze
App Review — to proces moderacji aplikacji Apple przed publikacją w App Store. Każda aplikacja, aktualizacja lub rozszerzenie przechodzi weryfikację pod kątem zgodności z App Store Review Guidelines — dokumentem składającym się z kilku sekcji, obejmujących bezpieczeństwo, poufność, design, normy prawne i treść.
Procedura jest obowiązkowa dla wszystkich programistów w ekosystemie Apple. Bez przejścia App Review aplikacja nie pojawia się w katalogu App Store, jest niedostępna do pobrania i nie może być rozpowszechniana przez TestFlight. Wyjątek — certyfikaty Enterprise do wewnętrznej dystrybucji korporacyjnej.
Apple wprowadziła App Review wraz z uruchomieniem App Store w 2008 roku. Początkowo weryfikacja trwała 7–14 dni i była mniej sformalizowana. Według danych badania CNBC (2023), przez 15 lat Apple odrzuciło ponad 2 miliony aplikacji z różnych powodów. W 2020 roku Apple uruchomiło program przyspieszonej weryfikacji dla programistów z wysokim ratingiem zaufania.
W przeciwieństwie do Google Play, gdzie publikacja jest możliwa bez wstępnej moderacji, App Store stosuje pre-moderację — każda aplikacja jest sprawdzana przed publikacją. Google Play stosuje post-moderację i automatyczne skanery. Według danych analizy Appfigures (2024), średni czas zatwierdzenia w App Store wynosi 48 godzin w porównaniu do 4 godzin w Google Play. Jednocześnie poziom odrzuceń w App Store jest wyższy o 35%.
Po przesłaniu builda przez App Store Connect rozpoczyna się wieloetapowa weryfikacja. Programista wysyła aplikację do review, wybierając wersję i wypełniając metadane. Apple rozdziela wnioski między zespoły moderatorów w zależności od kategorii aplikacji i regionu.
Pierwszy etap wykonywany jest automatycznie. Skanery Apple sprawdzają kod binarny pod kątem obecności złośliwych frameworków, użycia zamkniętych API i zgodności z formatem App Store. System analizuje metadane: nazwę, opis, zrzuty ekranu i rating wiekowy. Automatyczna weryfikacja trwa od 5 do 30 minut.
import StoreKit
func checkReviewStatus() {
let url = URL("https://api.appstoreconnect.apple.com/v1/apps/<APP_ID>/reviewSubmissions")!
var request = URLRequest(url: url)
request.setValue("Bearer <JWT_TOKEN>", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { data, _, _ in
guard let data = data else { return }
let status = try? JSONDecoder().decode(ReviewStatus.self, from: data)
print("Status recenzji: \(status?.attributes.state ?? \`"unknown\`")")
}.resume()
}
Po automatycznej weryfikacji wniosek trafia do człowieka-moderatora. Moderator sprawdza funkcjonalność aplikacji, testuje kluczowe scenariusze, ocenia design pod kątem zgodności z Human Interface Guidelines i sprawdza treść. Według danych raportu Apple (2024), ręczna moderacja zajmuje 40–70% całkowitego czasu weryfikacji.
App Store Review Guidelines — to zbiór zasad podzielony na 6 głównych kategorii: bezpieczeństwo, poufność, design, wymagania prawne, treść i kryteria techniczne. Każda kategoria zawiera od 5 do 30 podpunktów z konkretnymi wymaganiami.
| Kategoria | Główne wymagania | Guidelines |
|---|---|---|
| Bezpieczeństwo | Brak złośliwego kodu, ochrona danych | 1.0–1.5 |
| Poufność | Przetwarzanie danych osobowych, żądanie uprawnień | 2.0–2.5 |
| Design | Zgodność z HIG, stabilność interfejsu | 3.0–3.4 |
| Prawne | Rating wiekowy, gry hazardowe, treść | 4.0–4.9 |
| Treść | Brak obrażeń, prawa autorskie | 5.0–5.6 |
Apple ściśle sprawdza użycie Privacy Manifests i opis celów zbierania danych. Od 2024 roku każda aplikacja musi wskazywać API używane do zbierania danych i uzasadniać ich konieczność. Brak Privacy Manifest — jedna z częstych przyczyn odrzucenia.
Aplikacja musi przestrzegać Human Interface Guidelines. Apple odrzuca aplikacje z niedziałającymi elementami, zepsutymi linkami, niepoprawnym wyświetlaniem na różnych urządzeniach i nieczytelnym tekstem. Szczególną uwagę poświęca się adaptacji pod Dynamic Type i VoiceOver.
Przygotowanie do App Review zaczyna się na etapie rozwoju. Większość odrzuceń wynika nie z błędów w kodzie, ale z naruszenia formalnych wymagań: brak konta testowego, niepełne metadane lub nieprawidłowy rating wiekowy. Poniżej znajduje się lista kontrolna do przygotowania przed wysyłką.
// Kontrola przedwysyłkowa App Review
struct PreReviewChecklist {
let hasPrivacyManifest: Bool
let hasTestAccount: Bool
let screenshotsValid: Bool
func isReadyForReview() -> Bool {
let checks = [hasPrivacyManifest, hasTestAccount, screenshotsValid]
return checks.allSatisfy { $0 }
}
}
W App Store Connect należy podać kategorię aplikacji, słowa kluczowe, opis i dane kontaktowe. Dla aplikacji z subskrypcjami wymagane jest wypełnienie informacji o cenach i okresie subskrypcji. Apple zaleca dodanie wideo-preview o długości 15–30 sekund — zwiększa to konwersję na instalacje o 20–25%.
Przed wysyłką do review przeprowadź testowanie na fizycznych urządzeniach z różnymi wersjami iOS. Symulator nie wykrywa problemów z wydajnością, nagrzewaniem i zużyciem baterii. Apple odrzuca aplikacje, które się wyłączają lub zawieszają podczas standardowych scenariuszy użycia.
Jeśli aplikacja jest zlokalizowana na kilka języków, sprawdź poprawność zlokalizowanych stringów i formatowania danych. Apple odrzuca aplikacje, gdzie część interfejsu pozostała w języku angielskim przy wybranym języku polskim. Dla aplikacji z treścią w UE lub Chinach sprawdź zgodność z regionalnymi przepisami: GDPR, CCPA i wymagania chińskiej certyfikacji.
Do automatyzacji procesu App Review używaj App Store Connect API. API umożliwia programowe przesyłanie buildów, śledzenie statusów weryfikacji i otrzymywanie powiadomień o zmianach. Integracja z CI/CD przez Fastlane lub GitHub Actions skraca czas między commitem a wysyłką do review z kilku godzin do 10–15 minut.
Według statystyk App Review, opublikowanych przez Apple w 2024 roku, 5 przyczyn stanowi ponad 60% wszystkich odmów. Większość z nich związana jest nie z błędami technicznymi, ale z naruszeniem zasad i opisu.
| Przyczyna | Guideline | Udział odmów |
|---|---|---|
| Niepełna informacja | 3.0–3.4 | 22% |
| Zbieranie danych bez zgody | 2.0–2.5 | 18% |
| Crash i błędy | 1.0–1.5 | 12% |
| Płatna treść bez IAP | 4.0–4.2 | 10% |
| Nieprawidłowy rating wiekowy | 5.0–5.6 | 8% |
Przy odmowie Apple wysyła list z podaniem przyczyn i linkami do konkretnych sekcji Guidelines. Programista może naprawić problem i ponownie wysłać aplikację przez App Store Connect. W celu wyjaśnienia przyczyn odmowy dostępny jest Resolution Center — czat z moderatorem Apple.
Jeśli programista nie zgadza się z decyzją moderatora, można złożyć odwołanie. W Resolution Center należy wskazać, dlaczego aplikacja spełnia zasady, i dołączyć dowody. Według danych raportu Appfigures (2024), około 35% odwołań kończy się zatwierdzeniem po ponownym rozpatrzeniu.
Standardowy czas weryfikacji App Review wynosi 24–48 godzin. Jednak w okresach dużego obciążenia — po WWDC, przed świętami noworocznymi i w sezonie aktualizacji iOS — terminy wydłużają się do 5–7 dni. Apple publikuje aktualny średni czas na stronie App Review Status.
Dla krytycznych poprawek Apple udostępnia Expedited Review — przyspieszoną weryfikację w ciągu 2–6 godzin. Wniosek składa się przez App Store Connect z podaniem przyczyny: naprawa krytycznej podatności, przywrócenie usługi lub błąd blokujący pracę użytkowników. Fałszywe wnioski o przyspieszenie mogą prowadzić do odrzucenia kolejnych zgłoszeń.
Przyspieszona weryfikacja jest uzasadniona tylko w sytuacjach, gdy aplikacja staje się niedziałająca lub narusza prawo. Według danych Apple Developer Support (2024), Expedited Review jest zatwierdzane w 70% przypadków przy uzasadnionej przyczynie. Nie zaleca się wnioskowania o przyspieszenie dla planowych aktualizacji z nowymi funkcjami.
Często zadawane pytania
Standardowa weryfikacja trwa 24–48 godzin. W okresach dużego obciążenia termin wydłuża się do 5–7 dni. Aktualny średni czas publikowany jest na stronie App Review Status w App Store Connect.
Tak, poprzez mechanizm Expedited Review. Przyspieszona weryfikacja trwa 2–6 godzin. Wniosek składa się w App Store Connect z uzasadnieniem: krytyczna podatność, awaria usługi lub błąd blokujący. Fałszywe wnioski prowadzą do odrzucenia.
Naprawić wskazane w liście naruszenia i ponownie wysłać aplikację przez App Store Connect. W celu wyjaśnienia przyczyn użyj Resolution Center — czatu z moderatorem Apple. Ponowna weryfikacja nie wymaga dodatkowej opłaty.
Nie, ponowna weryfikacja jest bezpłatna. Po naprawieniu naruszeń wystarczy przesłać nowy build lub zaktualizować metadane w App Store Connect i złożyć wniosek ponownie. Liczba prób jest nieograniczona.
Status wyświetlany jest w App Store Connect w sekcji My Apps → wybierz aplikację → zakładka App Review. Dostępne statusy: Waiting for Review, In Review, Approved, Rejected. Powiadomienia przychodzą na e-mail programisty.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również