2012-11-21 10 views
5

Moja aplikacja ma ekran logowania, na którym użytkownik się loguje. Jesteśmy w stanie zalogować się na iPhone4, iPodzie 4, iPadzie 2 i symulatorze iPhone5. Ale kiedy prześlemy go do sklepu iTunes, tym razem aplikacja zostanie odrzucona. Apple wspomniał, że nie mogli się zalogować w aplikacji.Aplikacja iTunes zostaje odrzucona

Mam szyfrowanie HMAC-SHA 256 dla hasła i w momencie logowania wysyłam zaszyfrowane hasło. Czy jest coś, co Apple zaimplementował na iPhone5, który nie pozwala usługom akceptować zaszyfrowanych danych.

Nie mam telefonu iPhone5 i nie chcę kupować telefonu iPhone5, ponieważ jest on zbyt drogi. Czy ktoś może mi w tym pomóc?

To jest mój kod:

NSMutableURLRequest *theRequest = 
[NSMutableURLRequest requestWithURL:[NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0]; 

    
   //do post request for parameter passing 

   [theRequest setHTTPMethod:@"POST"]; 

    
   //set the content type to JSON 

   [theRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

[theRequest addValue:userName forHTTPHeaderField:@"Username"]; 

[theRequest addValue:sha256(passWord) forHTTPHeaderField:@"Password"]; 

enter image description here

Poniżej znajdują się komentarze od Apple:

Okazało się, że aplikacja wystawiony jeden lub więcej błędów, gdy zrewidowany iPhone 5 z systemem iOS 6.0.1, zarówno w sieci Wi-Fi, jak i sieci komórkowej, który jest niezgodny z Wytycznymi oceny App Store.

+0

Musisz podać więcej informacji zwrotnych od firmy Apple na temat tego, co nie jest zgodne z przepisami i jakie są błędy. Powinny zapewnić Tobie powtarzalne kroki. – WrightsCS

+0

To tylko kroki, wpisz nazwę użytkownika i hasło i naciśnij przycisk logowania. –

+0

Będę musiał zobaczyć kod, zamiast obrazu interfejsu użytkownika. – CodaFi

Odpowiedz

3

Mam zawsze wątpliwości, gdy słyszę o problemie z różnymi urządzeniami, więcej, gdy jest w nich coś z sieci. Czy kiedykolwiek próbowałeś swojej aplikacji w trudnym stanie sieci? czy poprawnie obsługujecie przekroczenie czasu sieci? czy używasz kolejki do poprawnego wysłania wszystkich żądań? czy jesteś pewien, że współbieżne żądania odpowiadają zgodnie z oczekiwaniami?
Możesz użyć odżywki sieciowej Link Link Conditioner, którą możesz pobrać bezpłatnie ze strony Apple i przetestować najgorsze przypadki. Wiem, że to tylko punkty, ale mam nadzieję, że mogą ci pomóc.
Ciao, Andrea

[UPDATE]
Czy dodać klasę osiągalności ??????

0

Apple zmieniło NSURLRequest dla iOS 6.0 w co najmniej jeden sposób, który łamie istniejące aplikacje i kod (uważam to za poważny błąd i został zarejestrowany w Apple).

Czy testowałeś na symulatorze iOS 6.0? Zauważyłem, że kilka aplikacji, które pracowały od lat, przestaje działać na iOS 6 ze względu na zmiany kodu Apple.

(główny jeden Widziałem to, że wniosek nie zostanie wysłany z telefonu, a więc timesout po ok 60 sekund)

0

Mamy ten sam cierpiał odrzucenie niedawno (24.03.2015) nasze rozwiązanie nie jest doskonałe, ale mamy nadzieję, że może to pomóc w rozwiązaniu tego problemu.

Uwagi firmy Apple są:

Odkryliśmy jeden lub więcej błędów w aplikacji podczas weryfikacji na iPada z systemem iOS 8.2 i iPhone z systemem iOS 8.2 zarówno Wi-Fi i komórkowych sieciach. Uruchom aplikację na urządzeniu, aby zidentyfikować problem (y), a następnie zrewiduj numer i ponownie prześlij aplikację do sprawdzenia.

Nasza aplikacja to prosta aplikacja, która po prostu pobiera plik i otwiera go w widoku Web.

W naszej sytuacji myślę, że nie możemy zrobić więcej i nie możemy odtworzyć błędu, więc dostosowujemy kod robiąc 2 rzeczy poniżej (wtedy sukces sprawił, że aplikacja zmieniła się w "Gotowy do sprzedaży") :

1.Dodaj "Wskaźnik aktywności", aby powiadomić użytkownika, że ​​proces pobierania pliku nadal trwa. 2.setConnection timeoutInterval do obsługi czasu oczekiwania.

Powiązane problemy