iOS本地推送功能详解

iOS 的本地推送功能,属于那种用了就回不去的交互手段,尤其适合做提醒类、打卡类或者周期性任务的 App。用起来也不复杂,靠的是UNUserNotificationCenter这个类来管通知,响应也快,代码也简单。

推送内容比较灵活,你可以用UNMutableNotificationContent设置标题、正文、声音,甚至还能塞点自定义数据进userInfo。想弹个提示还带点业务参数?没问题。

触发时机有两种方式:一个是按时间点触发,比如每天 15 点推一条,就用UNCalendarNotificationTrigger;另一个是按时间间隔走,像每隔一小时提醒下,用UNTimeIntervalNotificationTrigger就行。

权限申也直觉,调用requestAuthorization就会弹出系统授权弹窗,用户点下允许就能推送了。记得放在 App 启动或首次需要通知的时候调用。

注册通知也简单,先造个UNNotificationRequest,把内容和触发器丢进去,再交给通知中心add一下就生效。出错了也能拿到 error,调试方便。

移除通知分两种:清指定的通知,用removePendingNotificationRequests,清全部的,用removeAllPendingNotificationRequests,一刀切也挺干脆。

用户响应也能监听,像点击了通知,或者下拉操作,都能通过UNUserNotificationCenterDelegate接住事件,做点跳转或标记操作也比较顺。

要玩得更花一点,还能接UNNotificationServiceExtension,对通知内容做二次加工,像加张图、改下文本啥的,用户体验瞬间拉满。

如果你在做打卡、习惯追踪、定时提醒类的应用,iOS 的本地推送真的是一大利器。不靠服务器,简单灵活,基本能覆盖 80%的推送需求。

zip 文件大小:60.77KB