2011-01-01 19 views
16

Tworzę grę na iPhone'a, która obsługuje Game Center (GC). Po uruchomieniu aplikacji staram się uwierzytelnić lokalnego gracza ...Rozwój iOS: Dziwny problem z uwierzytelnianiem użytkownika Game Center

if([GKLocalPlayer localPlayer].authenticated == NO) 
    { 
     [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
     { 
      [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error]; 
     }]; 
    } 

Wszystko wydawało się działać dobrze. Jeśli użytkownik nie zostało podpisane w GC, kiedy aplikacja uruchomiona, aplikacja wyświetli okno dialogowe, dając im trzy opcje ...

  1. Zaloguj się na istniejące konto
  2. Załóż konto
  3. Anuluj

Jest to pożądane zachowanie, ale gdy testowałem, kliknąłem opcję "Anuluj", a teraz błędy procesu uwierzytelniania są za każdym razem wyświetlane z następującym błędem "Żądana operacja została anulowana." Nawet gdy usuwam aplikację i ponownie ją instaluję, nadal występuje błąd i okno dialogowe nie pojawia się teraz.

Czy ktoś wie, dlaczego tak się dzieje lub jak mogę to naprawić?

Z góry dziękuję za mądrość!

Odpowiedz

32

Okazuje się, że zachowanie nieudokumentowanego jabłka.

Po trzykrotnym naciśnięciu klawisza anuluj z rzędu, musi przejść do aplikacji Game Center i połączyć się z nią.

Iść rysunek.

+1

Dzięki za zamieszczenie tego! Wpadłem na ten sam problem. –

+0

Tyle przydatnych komunikatów o błędach. – typeoneerror

+3

Jakie jest rozwiązanie, jeśli musisz zalogować się na konto sandbox, a aplikacja Game Center nie oferuje tej opcji? Być może znajduję się w podobnej sytuacji, z wyjątkiem sytuacji, gdy widzę błąd 'nil' przy próbie uwierzytelnienia w aplikacji. Brak modalnego okna logowania, nic. –

Powiązane problemy