Определите, взаимодействует ли приложение с песочницей APNS или рабочей средой.

В моем приложении настроены push-уведомления. Я пытаюсь определить, пришел ли токен устройства, который я получил от APNS в методе application:didRegisterForRemoteNotificationsWithDeviceToken:, из песочницы или среды разработки. Если я смогу определить, какая среда инициализировала токен, я смогу указать своему серверу, в какую среду отправлять push-уведомление.

Я пытался использовать макрос DEBUG, чтобы определить это, но я видел некоторое странное поведение с этим и не верю, что это на 100% правильно.

#ifdef DEBUG
BOOL isProd = YES;
#else
BOOL isProd = NO;
#endif

В идеале я мог бы проверить aps-environmentзначение права («Разработка» или «Производство»)в коде, но я не уверен, что это вообще возможно.

Как правильно определить, взаимодействует ли ваше приложение с изолированной программной средой APNS или с рабочей средой? Я предполагаю, что сервер должен знать это в первую очередь. Пожалуйста, поправьте меня, если это предположение неверно.

Отредактировано:Документация Apple по Связь с провайдером с APNS подробно описывает разницу между связью с песочницей и производством. Однако в документации не содержится информации о том, как согласовать регистрацию токена (в клиентском приложении iOS)и связь с сервером.

17
задан goldierox 13 April 2012 в 23:24
поделиться