1

私のアプリは、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 で何も見つかりませんでした。どんな助けでも大歓迎です

4

1 に答える 1