2010-10-13 4 views
11

Sto sviluppando un gioco per iPhone con l'integrazione di Game Center. Il gioco è in fase di costruzione come Debug (non versione/distribuzione). Sul simulatore, Game Center utilizza sempre correttamente la sandbox. Sul dispositivo stesso dell'iPhone, passerà per alcuni giorni utilizzando la sandbox, quindi improvvisamente deciderà di utilizzare i veri server Game Center (il che si traduce in un errore, perché il mio gioco non è ancora stato rilasciato). Sta evitando la sandbox da diversi giorni e odio testare il simulatore. Qualche idea su come fare una volta per tutte la sandbox durante lo sviluppo?Come posso essere sicuro che l'app per iPhone utilizzi la sandbox di Game Center?

Ecco la citazione pertinente dal Game Kit Programming Guide:

Come sviluppatore, il tuo account Game Center potrebbe essere registrato in entrambi i Sandbox per il test, o nell'ambiente dal vivo, ma non entrambi. Per cambiare l'account al quale sei connesso, passa all'app Game Center integrata ed effettua il logout, quindi esegui qualsiasi app abilitata per Game Center. Se l'app è predisposta per lo sviluppo, inserire le informazioni dell'account di prova per accedere a Sandbox. Altrimenti, inserisci le informazioni del tuo account live per accedere all'ambiente live.

Per quanto posso dire, la mia app viene sottoposta a provisioning utilizzando un profilo di provisioning dello sviluppatore. La modalità di compilazione è impostata su Debug. Mi sono disconnesso da Game Center sul dispositivo. Ho anche provato a uscire dallo Store per buona misura.

+0

mi immagino che è il profilo di provisioning che l'applicazione viene firmato con ... –

+0

Come vorrei che incidono su di esso? Il profilo di provisioning è solo un elenco di dispositivi accettabili e un ID bundle. Mi sto perdendo qualcosa di ovvio qui? –

+0

Ho provato tutte le soluzioni elencate nelle risposte, ma sto avendo lo stesso problema. Molto strano. –

risposta

2

Ho ripristinato il mio iPhone da un backup. Ciò ha avuto l'effetto di rimuovere tutti i profili di provisioning e il gioco stesso. Ho quindi utilizzato Xcode per installare ed eseguire il gioco e la sandbox ha iniziato magicamente a funzionare di nuovo. Non sono sicuro se fosse necessario il ripristino completo o semplicemente rimuovendo il gioco. In precedenza avevo provato a rimuovere tutti i profili di provisioning e non funzionava. Sospetto che il ripristino sia stato probabilmente necessario nel mio caso.

Modifica: Potrebbe essere la mia immaginazione, ma iOS 4.2 sembra aver migliorato la stabilità della sandbox. Ho notato che il dispositivo sembra collegarmi alla sandbox anche su altri giochi di rilascio sul mio dispositivo (giochi di altre società). Sembra che mi tenga permanentemente in modalità sandbox finché non esco. Non ho fatto ulteriori esperimenti per testare questo in 4.2 dal momento che detesto di ripristinare il mio dispositivo di nuovo se smette di funzionare.

2

Il Game Center Programming Guide ha una sezione che descrive quando l'ambiente sandbox è e non è utilizzato (scorrere verso il basso fino a "Test di un'applicazione Game Center").

La tabella dà l'impressione che gli sviluppatori sviluppino sempre Sandbox, ma non è stata la mia esperienza. La mia esperienza, tuttavia, è stata che se sono stato disconnesso da Game Center (utilizzando l'app Game Center), quando eseguo la mia app (dispositivo o meno) che mi suggerisce di accedere a Sandbox. Il che credo sia ciò che dice il doc, ora che lo sto rileggendo.

+0

Sono sicuramente uscito da Game Center utilizzando l'app Game Center. Ho letto la documentazione ripetutamente, alla ricerca di indizi, e non sono stato in grado di risolverlo. –

2

Basta aggiungere una breve nota: dopo aver ripristinato il mio iPhone Simulator ho pensato che non avesse fatto alcuna differenza, in quanto la finestra di dialogo di accesso non includeva la stringa "*** SANDBOX ***" (sebbene la mia build del campione GKTapper ha fatto). Quando sono andato a creare un account in ogni caso, ha confermato che ero connesso alla sandbox.

4

Eliminare l'app, disconnettersi dall'app Game Center e reinstallare il gioco da Xcode è ciò che ha aiutato qui.

La versione precedente non aveva alcuna integrazione di Game Center e quella versione di App Store era installata sul dispositivo. L'eliminazione e l'installazione di nuovo da Xcode hanno apparentemente cancellato alcune informazioni memorizzate nella cache e hanno permesso al gioco di accedere ai server Sandbox.

Inoltre, ho seguito il consiglio di Apple da parte dei documenti di utilizzare un account di prova separato, anche se non penso che sia ciò che ha aiutato.

2

Avevo lo stesso problema: Sandbox Game Center funzionava su alcuni dispositivi, altri mostravano il temuto messaggio "questo gioco non è riconosciuto dal centro di gioco". Il logout da Game Center -> elimina app -> reinstalla dalla soluzione Xcode ha fatto il trucco. Grazie a tutti per i loro suggerimenti.

0

Da iOS 8 SandBox deve essere impostato manualmente sul telefono. Devi selezionare in Impostazioni -> Centro giochi -> e attivare ON Sandbox altrimenti non funzionerà e con i certificati di debug, l'accesso a Game Center non avrà successo.

enter image description here