Я знаю, что это старый вопрос, но, поскольку на него не было ответа, я соберу общие шаги для его исправления.
Если вы получаете статус «неопределенный» при тестировании приложения черезTestFlight или фактической установки из App Store, затем вам нужно настроить сертификат push-уведомлений для производства .Я уверен, что вы также получили электронное письмо с сообщением о ITMS-90078: отсутствует право на push-уведомление .
Вам нужно сделать две или три вещи ...
Во-первых, вещи, упомянутые здесь :
Чтобы это исправить, вам нужно включить «Push-уведомления» для вашего приложения в магазине приложений.
- Войдите в систему https://developer.apple.com/
- Перейдите в раздел «Сертификаты, идентификаторы и профили»
- Выберите «Идентификаторы приложений» в разделе «Идентификаторы» в левом столбце
- Выберите идентификатор приложения, отредактируйте его и установите флажок «Push-уведомления».Сохраните изменения
- Создайте сертификат для рабочей службы push-уведомлений: перейдите в раздел «Сертификаты» и следуйте инструкциям помощника, чтобы добавить сертификат «Apple Push Notification Service SSL (Sandbox & Production)» для вашего приложения.Острые читатели заметят, что expo не нуждается в этом сертификате, поскольку он использует ключ для прямой связи с Apple
TL; DR: Expo необходимо включить службу «Push Notification» при создании приложения вApple Developer Portal
Во-вторых, я уверен, что вы уже опубликовали свое приложение, поэтому вам нужно изменить expo.ios.buildNumber
в файле app.json изатем перестройте приложение с параметром профиля четкой инициализации следующим образом:
expo build:ios --clear-provisioning-profile
Таким образом, Expo создаст сборку с Push-уведомлениями, которые теперь активированы в вашем идентификаторе идентификатора приложения.
Наконец, снова загрузите его из загрузчика приложений.С вами все будет в порядке.
Надеюсь, это поможет.
ВАЖНО. Если очистка только файла обеспечения не работает, попробуйте очистить все с помощьюкоманда expo build:ios -c