2012-11-13 19 views
5

Tworzę grę podobną do aplikacji obsługującej Game Center. Mam problem z raportowaniem wyniku do tabeli liderów, gdy gracz jest prawidłowo uwierzytelniony w gamecentrum, ale sieć (wifi lub komórkowa) nie jest dostępna w czasie, gdy chcę zgłosić swój wynik.Wynik raportowania Game Center/GameKit, jeśli sieć jest niedostępna.

Moja aplikacja jest dla iOS 5.0 i wyższe oraz zgodnie z dokumentacją - Leaderboards - powinien działać jak mówią - używam tylko funkcję

- (void)reportScoreWithCompletionHandler:(void (^)(NSError *error))completionHandler and 

i

Jeśli z jakiegoś przyczyna nie mogła zostać zgłoszona z powodu błędu sieci , zestaw gier automatycznie ponownie wysyła dane, gdy dostępna staje się sieć .

ALE kiedy wyłączyć wifi, grać swoją grę i ocenę raportów w trybie offline, mój wynik nie jest zgłaszana, gdy wrócę online! :(Ten sam problem mam z moich osiągnięć. Czy istnieje jakiś podstęp lub znany problem? Czy jest to funkcja dostępna tylko dla żywych appliacations a nie do badania?

Dziękuję bardzo.

Odpowiedz

-1

z połączeniem internetowym wyłączone, nie można uwierzytelniać za pomocą Game Center .Jeśli nie ma żadnego uwierzytelnienia, nie można skorzystać z automatycznego ponownego przesłania przez Apple, ponieważ obsługują one przypadek użycia, w którym użytkownik pomyślnie uwierzytelnił się, a następnie sieć staje się niedostępna. "po wywołaniu uwierzytelnienia, dzwoniąc pod numer reportScore:forLeaderboardID:, niezależnie od tego, czy masz połączenie sieciowe, czy nie, obiekty wyników powinny być automatycznie przesyłane (w pewnym nieokreślonym czasie/interwale) przez Apple.

0

Widziałem podobne problemy. To nie jest odpowiedź, ale może wskazywać na problem. W przeciwieństwie do odpowiedzi od NathanChristie, możesz zostać uwierzytelniony, kiedy Wi-Fi jest wyłączone, ponieważ właśnie wypróbowałem to samo, używając trybu samolotowego i mogłem uzyskać uwierzytelnienie mojego użytkownika nawet bez sieci. Zdarza się również, że Game Center wydaje się mieć starą wersję moich osiągnięć w pamięci podręcznej i wyświetla je na żądanie. Może się zdarzyć, że jeśli spróbujesz zgłosić i dokonać aktualizacji lub tablicy wyników, a wersja z pamięci podręcznej danych nie rozpozna, to zignoruje aktualizację. Jeśli otrzymam więcej informacji, zaktualizuję.