Guideline 2.1 App Store: odrzucenie aplikacji i jak je naprawić
Autor: Mehdi Azizi
Zaktualizowano , 9 min
Guideline 2.1 App Completeness: co obejmuje, jak Apple testuje aplikację, co odpisać recenzentowi i 3 prawdziwe odrzucenia moich aplikacji.
Guideline 2.1 to reguła, przez którą odpada najwięcej zgłoszeń. Apple pisze to samo na swojej stronie App Review: średnio ponad 40% nierozwiązanych problemów dotyczy reguły 2.1, czyli tej, która obejmuje awarie, treści tymczasowe i niekompletne informacje.
Ten artykuł dotyczy tylko tej jednej reguły: co obejmuje, jakie ma dwa warianty, jak recenzent testuje twoją aplikację i co mu odpisać. Do tego trzy odrzucenia, które dostałem na własnych aplikacjach. Jeśli chcesz przegląd wszystkich powodów odrzucenia, przeczytaj raczej dlaczego Apple odrzuca aplikację.
Czym jest guideline 2.1 App Completeness?
Guideline 2.1 wymaga, żeby aplikacja wysłana do Apple była wersją finalną i kompletną: bez awarii, bez martwych linków, bez tekstu tymczasowego, z kontem demo, jeśli aplikacja wymaga logowania, i z widocznymi, działającymi zakupami w aplikacji. Jeśli recenzent nie może przejść przez twoją aplikację do końca, dostajesz odrzucenie 2.1.
Oficjalny tekst znajdziesz w App Review Guidelines, w sekcji 2 „Performance”. Dzieli się na dwa punkty.
2.1(a) wymaga, żeby każde zgłoszenie było wersją finalną, ze wszystkimi metadanymi i działającymi adresami URL. Tekst tymczasowy, puste strony i wszelkie treści tymczasowe muszą zniknąć przed wysyłką. Aplikacja musi być przetestowana na prawdziwym urządzeniu pod kątem błędów i stabilności. Jeśli wymaga logowania, podajesz konto demo i nie wyłączasz serwera. Wbudowany tryb demo może zastąpić to konto, ale tylko za wcześniejszą zgodą Apple i musi pokazywać wszystkie funkcje aplikacji. Zdanie, które wszystko podsumowuje: „We will reject incomplete app bundles and binaries that crash”.
2.1(b) dotyczy zakupów w aplikacji: muszą być kompletne, aktualne, widoczne dla recenzenta i działające. Jeśli zakupu skonfigurowanego w App Store Connect nie da się znaleźć w aplikacji, musisz wyjaśnić dlaczego w notatkach dla recenzenta.
Co guideline 2.1 obejmuje w praktyce
W praktyce odrzucenie 2.1 pojawia się z jednego z tych powodów:
- Awaria. Przy uruchomieniu, po odmowie uprawnienia, bez sieci. Wystarczy jedna.
- Martwy link. Prywatność, warunki korzystania, wsparcie: każdy zadeklarowany URL zostanie otwarty.
- Niedostępna funkcja. Przycisk, który nigdzie nie prowadzi, obowiązkowy ekran, którego nie da się przejść, onboarding bez wyjścia. Najbardziej zdradliwa forma: niewidoczna na twoim własnym telefonie.
- Brakujące lub wygasłe konto demo. Recenzent utyka na ekranie logowania, podane konto już nie działa albo serwer jest wyłączony.
- Treści-wypełniacze. Lorem ipsum, „Wkrótce dostępne”, pusty ekran, widoczne dane testowe.
- Zakupy w aplikacji, których nie da się znaleźć. Subskrypcja istnieje w App Store Connect, ale recenzent nie znajduje ekranu, który ją sprzedaje, albo zakup nie działa w sandboxie. Najczęstsze błędy ekranu płatności opisałem w paywall iOS: 7 błędów początkujących.
2.1 Information Needed czy 2.1(a): jaka różnica?
Nie wszystkie wiadomości od Apple mają ten sam tytuł, a ta różnica zmienia twoją odpowiedź.
„Guideline 2.1 - Information Needed” oznacza, że recenzent nie mógł dokończyć recenzji i zadaje ci pytanie. Brakuje loginu, wyjaśnienia, sposobu dotarcia do jakiejś funkcji. To jeszcze nie stwierdzenie błędu, tylko prośba. Czasem wystarczy precyzyjna odpowiedź w App Store Connect. Ale jeśli pytanie ujawnia prawdziwą blokadę w aplikacji, potrzebny jest nowy build.
„Guideline 2.1(a) - Performance - App Completeness” oznacza, że recenzent stwierdził problem: awarię, błąd, ekran, który nie reaguje. Wiadomość zwykle podaje użyte urządzenie i często zawiera zrzut ekranu. Wtedy trzeba poprawić, wysłać nowy build, a potem odpowiedzieć.
Jak Apple testuje twoją aplikację
Postaw się na miejscu recenzenta. Liczą się trzy rzeczy.
Testuje na urządzeniu, którego możesz nie mieć. Wiadomość z odrzuceniem często podaje model. Reguła 2.4.1 mówi, że aplikacje na iPhone'a powinny w miarę możliwości działać na iPadzie, a aplikacja zaprojektowana na iPhone'a wyświetla się tam w trybie zgodności, w oknie o formacie iPhone'a. Moje ostatnie odrzucenia 2.1 pochodziły z iPada Air: jeśli testujesz tylko na swoim iPhonie, nie widzisz tego, co widzi recenzent.
Zaczyna od pierwszego uruchomienia. Świeża aplikacja, bez cache, bez sesji, bez pobranych aktualizacji.
Sieć musi działać w samym IPv6. Reguła 2.5.5, sąsiadka guideline 2.5.4 o trybach działania w tle, wymaga, żeby aplikacja w pełni działała w sieci obsługującej tylko IPv6, a strona wsparcia Apple o IPv6 czyni to wymogiem dla wszystkich aplikacji zgłaszanych od 1 czerwca 2016. Ryzyko to adres IPv4 wpisany na sztywno: Apple radzi testować w sieci tylko z IPv6, z wyłączonymi danymi komórkowymi.
Żeby odtworzyć te warunki przed wysyłką, najprościej użyć TestFlight na kilku urządzeniach: zobacz TestFlight: testowanie aplikacji na iPhone'a.
Trzy odrzucenia, które dostałem, i ich prawdziwa przyczyna
Trzy niedawne odrzucenia moich własnych aplikacji, z ich prawdziwą przyczyną.
Solys: demo minigry niemożliwe do wygrania na iPadzie
Solys to mój budzik z minigrami. 18 sierpnia 2026 build zostaje odrzucony jako „2.1 Information Needed”: Apple prosi o sposób na przejście misji w grze. Recenzent testował na iPadzie Air, z aplikacją na iPhone'a w trybie zgodności.
Prawdziwa przyczyna tkwiła w demo minigry w onboardingu. Wysokości przeszkód były wpisane w stałych punktach. Przy wysokości karty dostępnej na iPadzie w trybie zgodności przejście stawało się węższe niż postać: demo było niemożliwe do wygrania. A przycisk „Dalej” aktywował się tylko po wygranej. Żadnego wyjścia: recenzent nie mógł zobaczyć aplikacji.
Poprawka: geometria proporcjonalna do zmierzonego rozmiaru karty i link „Pomiń demo”, który pojawia się po przegranej.
Lekcja: każdy krok zablokowany wynikiem musi mieć bezwarunkowe wyjście. A każdy obowiązkowy ekran testujesz na najmniejszym obsługiwanym ekranie ORAZ na iPadzie w trybie zgodności.
Nolera: poprawka niewidoczna dla recenzenta
17 września 2026 Nolera zostaje odrzucona po recenzji na iPadzie Air. Wiadomość łączyła 2.1(a) z innymi punktami. Poprawka zgłoszonego problemu trafiła do użytkowników przez aktualizację zdalną (OTA), bez nowego buildu.
Problem: przy pierwszym uruchomieniu recenzent widzi kod wbudowany w build, a nie aktualizację pobraną później. Dla niego poprawka nie istniała.
Lekcja: poprawka przeznaczona dla recenzji musi być w binarce wysłanej do Apple.
Clic: przyczyna nie leżała w aplikacji
16 września 2026 Clic zostaje odrzucona. Sama aplikacja była aktualna. Prawdziwa przyczyna była gdzie indziej: polityka prywatności opublikowana online była nieaktualna w kwestii używanego dostawcy AI. To odrzucenie dotyczy raczej prywatności niż reguły 2.1, ale pokazuje to samo: prawdziwe przyczyny nie zawsze są tymi, które sugeruje wiadomość.
Lekcja: sprawdzaj to, co jest online, a nie to, co jest w twoim repozytorium. Otwórz każdy zadeklarowany URL w dniu wysyłki.
Co odpisać w Resolution Center
Po odrzuceniu twoje zgłoszenie przechodzi w status „Unresolved Issues”, a rozmowa z Apple toczy się w sekcji App Review twojej aplikacji, nazywanej wciąż Resolution Center. Oficjalna procedura odpowiadania App Review pozwala na wiadomość do 4000 znaków, z jednym załącznikiem.
Pisz po angielsku, rzeczowo. Recenzent chce trzech informacji: co blokowało, co się zmieniło, jak to sprawdzić. Oto szablon, którego używam (podmień numer buildu i poprawkę na swoje):
Hello,
Thank you for your review.
Issue: the onboarding game demo could not be completed on iPad
(iPhone app running in compatibility mode), so the user could
not continue.
Fix in build 1.0.3 (42):
- The game layout now scales to the measured screen size.
- A "Skip demo" link appears after a failed attempt, so the
onboarding can always be completed.
How to verify: launch the app, start the onboarding demo,
lose once, then tap "Skip demo".
A screen recording is attached.
Best regards,
Kilka zasad:
- Odpowiedz na zadane pytanie. Przy „Information Needed” zacznij od konkretnej odpowiedzi, nie od kontekstu.
- Podaj build i ścieżkę do poprawionego ekranu, w trzech lub czterech krokach.
- Dołącz dowód. Krótkie wideo na urządzeniu podobnym do urządzenia recenzenta oszczędza kolejną rundę.
- Bez obrony. Odwołanie do App Review Board istnieje, ale przy zasłużonym odrzuceniu 2.1 tylko wydłuża czekanie. Szczegóły terminów znajdziesz w czas weryfikacji App Store.
Jeśli po przeczytaniu powód wciąż jest niejasny, pełne postępowanie opisuję na stronie aplikacja odrzucona przez Apple.
Notatki dla recenzenta i konto demo
Sekcja App Review Information twojej wersji w App Store Connect to najlepsza obrona przed regułą 2.1. Według oficjalnego opisu tych pól zawiera:
- Sign-in required: login i hasło konta demo. To konto nie może wygasnąć. Jeśli twoja aplikacja używa logowania przez zewnętrzny serwis, podaj dane logowania do tego serwisu.
- Notes: do 4000 bajtów, w wybranym przez ciebie języku. Wszystko, co pomaga w testowaniu.
- Contact: imię i nazwisko, e-mail i numer telefonu w formacie międzynarodowym.
Co zawsze wpisuję w notatkach:
- Ścieżkę do każdego zakupu w aplikacji, zgodnie z wymogiem reguły 2.1(b).
- Nieoczywiste funkcje: gest, uprawnienie, treść zależna od godziny.
- Stan konta demo: z subskrypcją czy bez, z wypełnionymi danymi czy puste.
- Znane ograniczenia: w przypadku sprzętu lub środowiska trudnego do odtworzenia Apple prosi, żeby być gotowym na dostarczenie wideo.
I zasada spoza formularza: nie wyłączaj serwera przez całą recenzję. Wyłączony serwer testowy to konto demo, które nie działa, czyli odrzucenie 2.1.
Checklista 2.1 przed zgłoszeniem
Ta, którą stosuję przed każdą wysyłką, zbudowana na moich odrzuceniach:
- Aplikacja zainstalowana od zera na najmniejszym obsługiwanym iPhonie, największym i na iPadzie w trybie zgodności
- Onboarding przejdzie w całości, z celową porażką na każdym kroku wymagającym wyniku
- Każdy obowiązkowy ekran ma bezwarunkowe wyjście
- Żadna poprawka przeznaczona dla recenzji nie jest dostarczona wyłącznie aktualizacją zdalną
- Aplikacja uruchomiona w trybie samolotowym, a potem w sieci tylko z IPv6
- Każdy zadeklarowany URL otwarty tego samego dnia: prywatność, warunki, wsparcie
- Żadnego tekstu tymczasowego, pustego ekranu ani widocznych danych testowych
- Konto demo przetestowane w dniu wysyłki, bez daty wygaśnięcia, serwer włączony
- Każdy zakup w aplikacji znaleziony z poziomu aplikacji i przetestowany w sandboxie, łącznie z przywracaniem
- Notatki dla recenzenta wskazują, gdzie są zakupy i nieoczywiste funkcje
Jeśli to twoja pierwsza publikacja, wszystkie wcześniejsze kroki znajdziesz w publikacja aplikacji w App Store.
Wyślij zgłoszenie z kimś, kto już dostał te odrzucenia
Apple Review Kit zawiera moją checklistę przed wysyłką, szablony notatek dla testera i skille Claude Code, które przeglądają twój projekt, zanim go zgłosisz.
Właśnie dostałeś odrzucenie 2.1? Kit pomoże ci też znaleźć przywołaną regułę, zrozumieć, czego wymaga, i zobaczyć przykład poprawki i odpowiedzi. Jeśli chcesz, żebyśmy przejrzeli twoje zgłoszenie razem już teraz, zarezerwuj godzinę ze mną, na wideorozmowie.
Nikt nie może zagwarantować, że Apple zaakceptuje twoją aplikację. Mogę za to pomóc ci uniknąć odrzuceń 2.1, za które sam już zapłaciłem cyklem recenzji.
Jeszcze nie wysłałeś aplikacji? Darmowa diagnoza wyśle ci moją checklistę przeciw odrzuceniom Apple, łącznie z regułą 2.1, i powie, co zostało do zrobienia przed wysyłką. Jeśli dopiero ją budujesz, na stronie głównej pokazuję, jak stworzyć aplikację mobilną z myślą o recenzji od samego początku.
Najczęściej zadawane pytania
Co oznacza „Guideline 2.1 - Information Needed”?
Recenzent nie mógł dokończyć recenzji i zadaje ci pytanie: o login, wyjaśnienie, sposób dotarcia do funkcji. Odpowiedz precyzyjnie w App Store Connect. Jeśli pytanie ujawnia prawdziwą blokadę w aplikacji, jak w Solys, popraw ją i wyślij nowy build.
Czy po odrzuceniu 2.1 potrzebny jest nowy build?
Przy awarii, błędzie lub blokującym ekranie tak: poprawka musi być w binarce. Aktualizacja zdalna nie wystarczy, bo recenzent przy pierwszym uruchomieniu widzi kod wbudowany w build. Przy zwykłym braku informacji może wystarczyć odpowiedź.
Moja aplikacja wymaga logowania: co dać recenzentowi?
Konto demo, które nie wygasa, wpisane w sekcji App Review Information, i serwer włączony przez całą recenzję. Wbudowany tryb demo może zastąpić to konto tylko za wcześniejszą zgodą Apple i musi pokazywać wszystkie funkcje.
Czy odrzucenie 2.1 może wynikać z czegoś innego niż aplikacja?
Tak. Wystarczy martwy URL w karcie aplikacji, wygasłe konto demo, wyłączony serwer albo źle skonfigurowany zakup w aplikacji. A czasem, jak w Clic, prawdziwa przyczyna jest online, a nie w kodzie: sprawdź wszystko, co recenzent może otworzyć.