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