2015-10-16 27 views
16

Recentemente ho deciso di aggiungere risultati a un gioco che è stato su App Store da anni e ho problemi con il farli funzionare.Game Center Achievement Issue

Sto usando il seguente codice per inviare i risultati:

GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier]; 

[achievement setPercentComplete:100.0]; 

[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error){ 

}]; 

Ma reportAchievements registra solo no bundle for bundleID: (null).

Mi chiedo se abbia qualcosa a che fare con il fatto che i risultati non sono ancora stati pubblicati e Apple ha rimosso i server sandbox. Ma sono registrati in iTunes Connect e sto usando un utente di prova.

È anche importante notare che questa app è stata trasferita da un altro sviluppatore.

Per l'ID applicazione Ho provato ad utilizzare:

  • com.olddeveloper.ach_id
  • com.olddeveloper.appid.ach_id
  • ach_id
  • com.newdeveloper.ach_id
  • com.newdeveloper.appid.ach_id

Il leade rboard che è presente da prima che il trasferimento funzioni ancora e utilizza l'ID del vecchio sviluppatore.

Ho persino provato a ottenere un elenco di tutti i risultati utilizzando il codice nella prima risposta here, ma dice ancora no bundle for bundleID: (null).

EDIT:

ho scoperto che anche se si dice no bundle for bundleID: (null), ancora restituisce correttamente un elenco di tutti i risultati. Presumo che questo messaggio sia solo un problema tecnico nel sistema e che funzioni comunque.

Detto questo, non riesco ancora a sbloccare i risultati utilizzando qualsiasi combinazione di ID.

risposta

1

Per me il problema era che il risultato era stato sbloccato, ma non visualizzato. Non conosco alcun modo per non visualizzare il messaggio, ma è innocuo.

+0

non mostra il raggiungimento a tutti in l'app Game Center. La pagina di Apple sulla rimozione dei server di test ha affermato che i risultati e le classifiche verranno visualizzati anche se non sono ancora attivi. – Bananable

1

Ho affrontato lo stesso problema. Passando con cautela attraverso il mio codice nel mio debugger, sono arrivato a capire se utilizzo GKScore anziché GKAchievement, il messaggio di avviso scompare. Quindi regola pollice è controllare i tuoi risultati e classifiche. Vai su GKScore anziché su GKAchievement.

[ GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) { 
 
    if (error != 0) 
 
     NSLog(@"Reporting of %@ failed: %@", achievement, [ error localizedDescription ]); 
 
}];

È anche possibile vedere il radar. È con no. rdar: // 23149890

0

Ho ricevuto lo stesso messaggio di errore mentre cercavo accidentalmente di segnalare un risultato all'interno della mia app che non era configurato in iTunes Connect.

Così, i seguenti passaggi potrebbero aiutarvi:

  1. Controllare iTunes Connect per i successi mancanti
  2. Controllare i ids risultato per errori di ortografia
Problemi correlati