iOS模拟器调试消息通知
2024-04-09 20:50:19  阅读数 1780

从 Xcode 11.4 开始,可以在 iOS 模拟器上模拟推送通知。具体操作步骤如下:

1、首先在项目中增加推送模块
image.png
2、在AppDelegate中增加注册方法并调用
import Foundation
import UIKit

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        registerPushNotification()
        return true
    }
    
    // 注册通知
    func registerPushNotification() {
        let center = UNUserNotificationCenter.current()
        center.requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
            // Enable or disable features based on authorization.
        }
     }
}
3、然后在模拟器中运行,可以看到消息通知权限申请弹窗,点击允许
image.png
4、我们准备一个push_test.apns文件
{
    "Simulator Target Bundle": "工程对应的BundleID",
 
    "aps": {
        "badge": 1,
        "alert": {
            "title": "通知标题",
            "subtitle": "通知副标题",
            "body": "通知内容,测试点击打开百度"
        },
       "sound":"default"
    },
    "route": {
        "url":"https://www.baidu.com/"
    }
 } 
5、然后我们就可以测试通知了,这里有两个方法,最简单的直接把文件拖到模拟器屏幕上,就可以看到了
image.png
6、另一种是使用命令行,打开终端,输入命令
xcrun simctl push booted 把你的push_test.apns文件拖上去

写在最后,苹果灵动岛的设计虽然很惊艳,但目前貌似还没有开放给开发者来适配,说是到2022年底左右会发布ActivityKit,那时候第三方App才可以逐步适配灵动岛以及锁屏界面上的自定义小组件。


image.png