2010-10-13 10 views
11

Ich entwickle ein iPhone-Spiel mit Game Center-Integration. Das Spiel wird als Debug erstellt (nicht release/distribution). Im Simulator verwendet Game Center die Sandbox immer korrekt. Auf dem iPhone-Gerät selbst wird es für ein paar Tage mit der Sandbox gehen und dann plötzlich entscheiden, die echten Game Center Server zu benutzen (was zu einem Fehler führt, weil mein Spiel noch nicht veröffentlicht wurde). Seit einigen Tagen meidet es die Sandbox und ich hasse es am Simulator zu testen. Irgendeine Idee, wie man die Sandbox während der Entwicklung ein für allemal nutzen kann?Wie kann ich sicherstellen, dass meine iPhone App die Game Center Sandbox verwendet?

Hier ist das relevante Zitat aus den Game Kit Programming Guide:

Als Entwickler des Game Center-Konto kann entweder in Sandbox zum Testen oder in die Live-Umgebung angemeldet sein, aber nicht beide. Um zu ändern, an welchem ​​Konto du angemeldet bist, wechsle zur integrierten Game Center App und logge dich aus und führe dann eine Game Center-fähige App aus. Wenn diese App für die Entwicklung bereitgestellt wird, geben Sie Ihre Testkontoinformationen ein, um sich bei Sandbox anzumelden. Andernfalls geben Sie Ihre Live-Kontoinformationen ein, um sich bei der Live-Umgebung anzumelden.

Soweit ich feststellen kann, wird meine App mit einem Developer Provisioning-Profil bereitgestellt. Der Build-Modus ist auf Debug eingestellt. Ich habe mich vom Game Center auf dem Gerät abgemeldet. Ich habe auch versucht, mich aus dem Store herauszumelden.

+0

Ich könnte mir vorstellen, dass es das Provisioning-Profil ist, dass die App mit ... –

+0

unterzeichnet wird Wie das es auswirken würde? Das Bereitstellungsprofil ist nur eine Liste der zulässigen Geräte und eine Paket-ID. Fehle ich etwas Offensichtliches hier? –

+0

Ich habe alle Lösungen in den Antworten versucht, aber habe das gleiche Problem. Sehr eigenartig. –

Antwort

2

Ich habe mein iPhone von einem Backup wiederhergestellt. Dies hatte zur Folge, dass alle Bereitstellungsprofile und das Spiel selbst entfernt wurden. Ich habe dann Xcode verwendet, um das Spiel zu installieren und zu starten, und Sandbox begann wieder magisch zu arbeiten. Ich bin mir nicht sicher, ob die vollständige Wiederherstellung erforderlich war oder nur das Spiel entfernt wurde. Ich hatte zuvor versucht, alle Bereitstellungsprofile zu entfernen, und das hat nicht funktioniert. Ich vermute, dass die Wiederherstellung in meinem Fall wahrscheinlich notwendig war.

Edit: Es könnte meine Phantasie sein, aber iOS 4.2 scheint die Stabilität der Sandbox etwas verbessert zu haben. Ich habe bemerkt, dass das Gerät mich anscheinend in die Sandbox einbindet, auch bei anderen Release-Spielen auf meinem Gerät (Spiele anderer Firmen). Es scheint mich permanent im Sandbox-Modus zu halten, bis ich mich abmelde. Ich habe keine weiteren Experimente gemacht, um dies in 4.2 zu testen, da ich es verabscheue, mein Gerät wieder herzustellen, wenn es nicht mehr funktioniert.

2

Die Game Center Programming Guide enthält einen Abschnitt, der beschreibt, wann die Sandbox-Umgebung verwendet wird und nicht verwendet wird (scrollen Sie nach unten zu "Testen einer Game Center-Anwendung").

Die Tabelle dort gibt den Eindruck, dass Entwickler Builds immer Sandbox verwenden, aber das ist nicht ganz meine Erfahrung. Ich habe jedoch die Erfahrung gemacht, dass wenn ich vom Game Center abgemeldet bin (mit der Game Center App), wenn ich meine App starte (Gerät oder nicht), dass ich aufgefordert werde, mich bei Sandbox anzumelden. Was ich denke ist, was der Doc sagt, jetzt, wo ich es wieder lese.

+0

Ich bin definitiv vom Game Center mit der Game Center App abgemeldet. Ich habe die Dokumentation wiederholt gelesen, nach Hinweisen gesucht und konnte sie nicht lösen. –

2

Ich hatte nur eine kurze Notiz hinzuzufügen: nach dem Zurücksetzen meines iPhone Simulators dachte ich, es hätte keinen Unterschied gemacht, da der Login-Dialog nicht die Zeichenfolge "*** SANDBOX ***" enthielt (obwohl mein Build der GKTapper Probe tat). Als ich trotzdem ein Konto erstellen wollte, bestätigte es, dass ich mit der Sandbox verbunden war.

4

Das Löschen der App, das Abmelden von der Game Center-App und das erneute Installieren des Spiels von Xcode ist hier hilfreich.

Vorherige Version hatte keine Game Center-Integration, und diese Version von App Store wurde auf dem Gerät installiert. Das Löschen und erneutes Installieren von Xcode hat anscheinend einige veraltete Cache-Informationen bereinigt und das Spiel auf Sandbox-Server zugreifen lassen.

Auch ich folgte Apples Rat von den Dokumenten, ein separates Testkonto zu verwenden, obwohl ich glaube, dass das nicht half.

2

Ich hatte das gleiche Problem: Sandbox Game Center arbeitet an einige Geräte, andere zeigten die gefürchtete "dieses Spiel wird nicht von Game Center erkannt" Nachricht. Die Abmeldung vom Game Center -> App löschen -> Neuinstallation von Xcode Lösung hat den Trick gemacht. Danke an alle für ihre Vorschläge.

0

Ab iOS 8 muss SandBox manuell auf Ihrem Telefon eingestellt werden. Du musst in Einstellungen -> Game Center -> markieren und ON Sandbox einschalten, sonst funktioniert es nicht und mit Debug-Zertifikaten ist die Game Center-Anmeldung nicht erfolgreich.

enter image description here

Verwandte Themen