odrzucona aplikacja na iOS: Niepubliczne API

Ta sama aplikacja została już zatwierdzona dwa razy wcześniej, ale po pewnych zmianach, takich jak ustawianie widoku obrazu i ponowne przesyłanie aplikacji, Apple odrzuciło moją aplikację za następujące błędy:

Wydajność-2.5.1

Twoja aplikacja używa lub odwołuje się do następujących niepublicznych interfejsów API:

SetResult: nextStarIndex

[2]} Korzystanie z niepublicznych interfejsów API nie jest dozwolone w App Store, ponieważ może to prowadzić do słabego doświadczenia użytkownika, jeśli te interfejsy API zmiana.

Jak użytkownik może przetestować swoją aplikację, jeśli zawiera prywatne API?

Nie używam setResult: i nextStarIndex kodu nigdzie w moim projekcie, więc co powinienem zrobić?

Author: 7vikram7, 2016-09-09

5 answers

Ostatni raz spotkałem się z tym z powodu kolizji przestrzeni nazw między metodami w moim kodzie i metodami prywatnymi w Cocoa API. Możesz również użyć grep, aby dowiedzieć się, gdzie dokładnie używasz tych selektorów:

grep -R 'setResult:' *
 9
Author: JAL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-12 14:17:22

Miałem taką samą sytuację z Tobą. Teraz aplikacja jest gotowa do sprzedaży. Mam nadzieję, że pomogę ci rozwiązać ten problem.

"Twoja aplikacja używa lub odwołuje się do następujących niepublicznych interfejsów API: cancelAction:, defaultInstance "

Moje rozwiązane kroki:

(1) grep -r 'defaultInstance' *

Tutaj wpisz opis obrazka CrashReporterSDK pasuje, więc go usuwam .

(2) grep-R ' cancelAction:' * pasuje do niektórych nazw funkcji projektu. Ja też je rozwiązuję.

(3) I sugeruj, że przed użyciem "grep-r" powinieneś usunąć "Pliki dokumentów budowania" projektu, więc "grep-r" da nam więcej przydatnych informacji.

Zakończone

 3
Author: Qun Li,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-25 02:42:06

Jeśli nie znajdziesz odnośnika przeszukując projekt, problem jest najbardziej podobny do skompilowanej biblioteki stron trzecich. Możesz użyć " nm " do wyświetlania symboli w skompilowanych bibliotekach.

Jedna z moich aplikacji została odrzucona z tej samej przyczyny. Zaktualizowałem mój projekt o najnowszy Facebook SDK (w tym czasie 4.15.1), a aplikacja przeszła recenzję.

 1
Author: mariusu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-14 08:13:59

Jeśli potrzebujesz sprawdzić w swojej aplikacji, przejdź tylko do ścieżki katalogu projektu w terminalu i spróbuj poniżej polecenia.

    grep -R 'setResult:' .
 1
Author: selva raj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-28 14:02:00

Uruchom otool na excutable.

Przejdź do katalogu build:

AppName / build / AppName.build/Release-iphoneos/AppName.build / Objects-normal/ armv6 /

And run

Strings AppName / grep 'setResult' aby wiedzieć, który framework użył tej konkretnej metody.

 0
Author: user2931321,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-12 05:51:05