【发布时间】:2019-04-07 17:37:30
【问题描述】:
我正在尝试为我的 macOS 应用程序启用推送通知。一切似乎都在工作。我能够获得设备令牌。发送没有错误的通知。除非我的 Mac 上没有显示警报。
我添加了以下代码来查看我的应用程序是否收到它。
func application(_ application: NSApplication, didReceiveRemoteNotification userInfo: [String : Any]) {
print(userInfo)
}
在我发送通知后,我会在控制台中看到以下内容。
["aps": {
alert = "Alert - Hello World";
sound = "ping.aiff";
}]
所以看起来它可以到达设备,只是没有显示警报。
我已经在 iOS 上测试了完全相同的设置,它工作正常并在那里显示警报。所以我一定是在 macOS 上遗漏了一些东西。
我尝试了以下方法来解决此问题:
- 在应用程序关闭和打开的情况下进行了测试(两次均无效)
- 确保在系统偏好设置中为应用程序启用通知
- 如果我在代码中手动创建本地通知,它可以完美运行,并且出现通知横幅
- 我无法在旧版本的 macOS 上测试它,因为我使用的推送通知 API 刚刚在 macOS Mojave 中发布
- 我也尝试创建另一个测试项目,同样的问题发生了
- 我已确保“请勿打扰”已关闭,并已在通知中心检查了该通知,但它也没有显示在那里。
如何让它在 macOS 上显示横幅并播放声音?
【问题讨论】:
-
我知道您已经在答案中指定了这一点,但我没有看到我何时通过,所以我认为这可能有助于某些人看到这张照片。 
标签: swift macos push-notification apple-push-notifications