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
    }
    }

相关推荐
2501_9159184117 小时前
在 Xcode 中运行和调试单元测试的完整指南
ide·vscode·macos·ios·单元测试·个人开发·xcode
茉莉玫瑰花茶18 小时前
GO [ 标准库 · HTTP 高可用 ]
ios·iphone·xcode
用户12026878638619 小时前
过审了,国区搜不到
ios
用户380341658829719 小时前
八个私有 SPM 包撑起六款 App:分支当版本、钻石依赖,和一次谁都没报错的失效
ios·swift
老李IT笔记20 小时前
远程取设备日志:iOS、tvOS 和 macOS 三端的同意方式不一样
macos·ios
茶底世界之下20 小时前
食物照片有点偏绿?用 Awaking 把色调往回调一点
ios
2601_9665635220 小时前
分享3个 OpenWrt手机管理客户端 支持安卓+ios 中文开源免费无广告
ios·智能手机
普通人620 小时前
iPhone Duo 介绍
ios·iphone
2501_9159214321 小时前
iOS应用从开发到上架App Store的完整步骤详解
android·ios·小程序·https·uni-app·iphone·webview