iOS 应用在前台时显示通知

背景:

在iOS应用中,当应用在前台运行时,是不会默认弹出通知的。这是iOS的设计决定,以避免用户在使用应用的过程中被打扰。然而,如果你希望在应用在前台的时候也能收到通知,你可以在你的应用代码中进行一些修改。

添加代理

  1. 在AppDelegate的didFinishLaunchingWithOptions:方法中设置通知中心的代理

  2. 在你的AppDelegate中实现userNotificationCenter(_:willPresent:withCompletionHandler:)方法。

    public func setNotifiAuth() {
    let center = UNUserNotificationCenter.current()
    center.delegate = self
    center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
    if granted == true {
    dePrint("允许通知")
    } else {
    dePrint("不允许通知")
    }
    }
    }

    extension LocalNotification: UNUserNotificationCenterDelegate {
    // 前台显示弹窗
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification) async -> UNNotificationPresentationOptions {
    return .alert
    }
    }

相关推荐
名字不要太长 像我这样就好1 小时前
【iOS】OC源码阅读——alloc源码分析
笔记·学习·macos·ios·objective-c
zhishishe6 小时前
如何在 iPhone 上恢复已删除的联系人:简短指南
ios·智能手机·iphone
艾小逗6 小时前
uniapp中检查版本,提示升级app,安卓下载apk,ios跳转应用商店
android·ios·uni-app·app升级
zhishishe6 小时前
如何修复卡在恢复模式下的 iPhone:简短指南
windows·macos·ios·objective-c·cocoa·iphone
桃花仙丶6 小时前
iOS/Flutter混合开发之PlatformView配置与使用
flutter·ios·xcode·swift·dart
依旧风轻11 小时前
使用 DoH 查询域名 —— 以 core.tantanapp.com 为例的实战分析
ios·dns·cloudflare·doh·sqi
只可远观11 小时前
Mac搭建Flutter IOS环境详细指南
前端·flutter·macos·ios
一牛12 小时前
译:Swift中的隔离机制介绍
macos·ios·swift
长沙火山21 小时前
SwiftUI 8.List介绍和使用
ios·list·swiftui
努力成为包租婆1 天前
iOS18 MSSBrowse闪退
ios·objective-c