私のアプリは、UserNotifications フレームワークを使用して、アプリ全体のランダムなポイントでユーザー通知 (画面の上部にポップアップ) をユーザーに表示します (サーバーからリモートで起動されます。つまり、別のユーザーがメッセージを送信したとき)。
ガイド付きアクセス モードでない場合、通知は完全に機能し、ユーザーがアプリにいる間は適切に起動します。
これは、アプリ内に表示される通知を有効にするための app-delegate からのものです。
extension AppDelegate : UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler(.alert)
}
これは、通知が発生する方法です (イベントが Firebase からトリガーされた場合):
func sendNotification(notTitle: String, notSubtitle: String, notBody: String) {
let notif = UNMutableNotificationContent()
notif.title = notTitle
notif.subtitle = notSubtitle
notif.body = notBody
let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.1, repeats: false)
let request = UNNotificationRequest(identifier: "myNotification", content: notif, trigger: notifTrigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
したがって、上記のすべてが正常に機能します。
しかし、私の問題は、アプリがガイド付きアクセス モード (ホーム ボタンを 3 回タップ - パスコードによってデバイスが特定のアプリにロックされる) になると、通知が表示されなくなることです。ガイド付きアクセスは何らかの方法でそれらをブロックします。
私のアプリは、施設内の物理的なスタッフからクライアントに提供されるため、ガイド付きアクセスであることが不可欠です。
ガイド付きアクセス モードがユーザー通知をブロックしないようにする方法はありますか? または、app-delegate に含めなければならない機能はありますか?
この問題に関して、SO または Web で何も見つかりませんでした。どんな助けでも大歓迎です