Ho impostato le notifiche push nella mia app. Sto provando a determinare se il token del dispositivo ricevuto da APNS nel metodo application:didRegisterForRemoteNotificationsWithDeviceToken:
proviene dalla sandbox o dall'ambiente di sviluppo. Se riesco a distinguere quale ambiente ha inizializzato il token, sarò in grado di dire al mio server su quale ambiente inviare la notifica push.Determinare se l'app sta comunicando con la sandbox APNS o l'ambiente di produzione
Ho provato a utilizzare la macro DEBUG
per determinare ciò, ma ho visto un comportamento strano con questo e non mi fido che sia corretto al 100%.
#ifdef DEBUG
BOOL isProd = YES;
#else
BOOL isProd = NO;
#endif
Idealmente, sarei in grado di esaminare il aps-environment
diritto (il valore è lo sviluppo o produzione) nel codice, ma non sono sicuro se questo è ancora possibile.
Qual è il modo corretto per determinare se l'app sta comunicando con la sandbox APNS o gli ambienti di produzione? Presumo che il server abbia bisogno di sapere questo in primo luogo. Per favore correggimi se questo è un presupposto errato.
Modificato: la documentazione Apple su Provider Communication with APNS descrive la differenza tra la comunicazione con la sandbox e la produzione. Tuttavia, la documentazione non fornisce informazioni su come essere coerenti con la registrazione del token (dall'app client iOS) e la comunicazione con il server.
La libreria è un po 'obsoleta, ma ha funzionato bene per l'acquisizione di 'aps- environment' (sostituisci '" get-task-allow "' con '" aps-environment "' nell'esempio di @tcurdt, e non confrontarlo come bool) –
@AlbertBori potresti per favore presentare un problema su cosa è é piú attuale? – tcurdt
Sicuro! Ecco qua: https://github.com/tcurdt/TCMobileProvision/issues/1 –