當Apple的官方iOS Messages應用程序打開并在前臺運行時,來自其他聯系人的新消息會觸發原始的本地iOS通知警報橫幅。參見下圖。在App Store的第三方應用程序中有可能嗎?當您的應用處于打開狀態且處于前臺時,您的應用的本地通知和/或推送通知?測試我的應用程序時,會收到通知,但不會顯示iOS警報UI。但是,這種行為是出現在蘋果的官方消息應用程序:消息處于打開狀態并且位于前臺。 仍顯示通知警報。在本地和遠程通知編程指南說:當操作系統傳遞本地通知或遠程通知并且目標應用未在前臺運行時,它可以通過警報,圖標徽章編號或聲音向用戶顯示通知。如果在傳遞通知時應用程序在前臺運行,則應用程序委托會接收本地或遠程通知。因此,是的,我們可以在前臺接收通知數據。但是我看不到呈現本機iOS通知警報UI的方法。-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // I know we still receive the notification `userInfo` payload in the foreground. // This question is about displaying the stock iOS notification alert UI. // Yes, one *could* use a 3rd party toast alert framework. [self use3rdPartyToastAlertFrameworkFromGithub]}然后,Messages是否在前臺使用私有API來顯示警報?對于這個問題的目的,請不要提出任何第三方“敬酒”,彈出警報在github上或者等我只是有興趣,如果這可以用做庫存,提供原生iOS本地或推送通知提醒用戶界面,而你應用程序是打開的,并且處于前臺。
3 回答

動漫人物
TA貢獻1815條經驗 獲得超10個贊
要在應用程序處于前臺狀態時顯示橫幅消息,請使用以下方法。
iOS 10以上版本,Swift 3以上版本:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .badge, .sound])
}
- 3 回答
- 0 關注
- 782 瀏覽
添加回答
舉報
0/150
提交
取消