Локальные уведомления не работают в сборках TestFlightIOS

Программируем под IOS
Ответить
Anonymous
 Локальные уведомления не работают в сборках TestFlight

Сообщение Anonymous »

Я создал приложение, которым могут пользоваться близкие родственники и друзья. Я не могу загрузить приложение в App Store, так как использую материалы/ресурсы, защищенные авторским правом, поэтому я использую TestFlight для распространения приложения, чтобы моя семья и друзья могли использовать его.
Я внедрил локальные уведомления. в приложении с помощью UserNotifications, UNUserNotificationCenter и т. д. Я планирую два уведомления в неделю, которые должны доставляться в одно и то же время каждую неделю, каждое в отдельные дни недели. Однако мое личное устройство — единственное, которое фактически получает эти уведомления, и все мои «пользователи», загрузившие мое приложение через TestFlight, не получают этих уведомлений. Я проверил, что у моих «пользователей» включены уведомления для моего приложения.
Сначала я посмотрел видео на YouTube о том, как реализовать локальные уведомления. В подходе, показанном в видео, используются API-интерфейсы обработчика завершения UserNotification. Я также пробовал поэкспериментировать с использованием асинхронных API, поскольку мое приложение использует архитектуру асинхронного ожидания, но это не помогло.
Хотя, возможно, это не лучшая практика, моя реализация выглядит следующим образом:< /p>
  • Когда пользователь загружает приложение, запустите цикл, чтобы запланировать все ~30 уведомлений.
  • На каждой итерации создавайте уведомление с помощью уникальный идентификатор для каждого уведомления.
  • Удалите все ожидающие уведомления, соответствующие этому идентификатору.
  • Добавьте созданное уведомление в очередь.
Я также прошу разрешения пользователя отправлять уведомления следующим образом:

Код: Выделить всё

func checkForNotificationsPermission() {
let notificationCenter = UNUserNotificationCenter.current()
notificationCenter.getNotificationSettings { settings in
switch settings.authorizationStatus {
case .authorized:
self.dispatchNotifications()
case .notDetermined:
notificationCenter.requestAuthorization(options: [.alert, .sound]) { didAllow, error in
if didAllow {
self.dispatchNotifications()
}
}
default:
return
}
}
}
где диспетчеризация() следует шагам 1–4, описанным выше.
Мое предположение состоит в том, что уведомления работают для меня, потому что я Я использую учетную запись, привязанную к учетной записи разработчика, и у меня есть сертификат, позволяющий получать уведомления, но я не знаю наверняка. Все люди, использующие мое приложение через TestFlight, добавляются в мой App Store Connect с ролью «Маркетинг».

Подробнее здесь: https://stackoverflow.com/questions/790 ... ght-builds
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»