Sie sollten Ihre Datenbanktabelle wahrscheinlich mit einer Art UDID verschlüsseln (Sie können Ihre eigenen erstellen, indem Sie die Paket-ID und die MAC-Adresse des Geräts hashen) UND ein zweites Feld, das angibt, ob das Token eine "Entwicklung" ist oder ein "Produktions" -Token. Das dritte Feld kann das tatsächliche Token sein.
In Ihrem App-Delegaten in der Delegate-Methode didRegisterForRemoteNotificationsWithDeviceToken können Sie Logik hinzufügen, um festzustellen, ob Ihre App im Entwicklungs- oder Produktionsmodus ausgeführt wird, und Ihre Datenbank anhand der UDID und des Modus der App aktualisieren laufen in
Ihr Code etwa wie folgt aussehen:.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
// Update the device token record in our database
#if !defined (CONFIGURATION_Distribution)
// Update the database with our development device token
#endif
#if defined (CONFIGURATION_Distribution)
// Update the database with our production device token
#endif
}
das Sie zu Ihrem Projekt gehen müssen, um tun -> Einstellungen erstellen. Geben Sie im Abschnitt Preprocessor Macros CONFIGURATION_ ein und drücken Sie die Eingabetaste. Dies sollte ein Präprozessor-Makro für jede Ihrer Build-Konfigurationen erstellen. In diesem Fall sind meine Build-Konfigurationen AdHoc, Debug, Distribution und Release.
Es erstellt CONFIGURATION_AdHoc, CONFIGURATION_Debug, CONFIGURATION_Distribution und CONFIGURATION_Release für mich.
Beantworten Sie hier: http://StackOverflow.com/Questions/10146911/Determine-Whether-app-is-communicating-with-Apns-Sandbox-or-production-environme – phatmann