В моем приложении настроены push-уведомления. Я пытаюсь определить, пришел ли токен устройства, который я получил от APNS в методе application:didRegisterForRemoteNotificationsWithDeviceToken:
, из песочницы или среды разработки. Если я смогу определить, какая среда инициализировала токен, я смогу указать своему серверу, в какую среду отправлять push-уведомление.
Я пытался использовать макрос DEBUG
, чтобы определить это, но я видел некоторое странное поведение с этим и не верю, что это на 100% правильно.
#ifdef DEBUG
BOOL isProd = YES;
#else
BOOL isProd = NO;
#endif
В идеале я мог бы проверить aps-environment
значение права («Разработка» или «Производство»)в коде, но я не уверен, что это вообще возможно.
Как правильно определить, взаимодействует ли ваше приложение с изолированной программной средой APNS или с рабочей средой? Я предполагаю, что сервер должен знать это в первую очередь. Пожалуйста, поправьте меня, если это предположение неверно.
Отредактировано:Документация Apple по Связь с провайдером с APNS подробно описывает разницу между связью с песочницей и производством. Однако в документации не содержится информации о том, как согласовать регистрацию токена (в клиентском приложении iOS)и связь с сервером.