gpt4 book ai didi

objective-c - PyObjC "Notifications are not allowed for this application"

转载 作者:行者123 更新时间:2023-12-02 19:54:27 24 4
gpt4 key购买 nike

我正在尝试测试一个简单的 Python 脚本来发送 macOS 通知:

import UserNotifications

def notif_callback(err):
print("Error in notification callback:",err)

def auth_callback(granted, err):
print("Granted: ",granted,)
print("Error in authorization request: ",err)

content=UserNotifications.UNMutableNotificationContent.alloc().init()
content.setTitle_("Test")
r=UserNotifications.UNNotificationRequest.requestWithIdentifier_content_trigger_('test_notification',content,None)


c=UserNotifications.UNUserNotificationCenter.currentNotificationCenter()

c.requestAuthorizationWithOptions_completionHandler_(0b111111,auth_callback)

c.addNotificationRequest_withCompletionHandler_(r,notif_callback)

但是,当我尝试运行该程序时,出现以下错误

Granted: False
Error in authorization request: Error Domain=UNErrorDomain Code=1 "Notifications are not allowed for this application" UserInfo={NSLocalizedDescription=Notifications are not allowed for this application}
Error in notification callback: Error Domain=UNErrorDomain Code=1 "Notifications are not allowed for this application" UserInfo={NSLocalizedDescription=Notifications are not allowed for this application}

我没有从我的系统中看到任何通知授权,操作系统似乎自动拒绝了该请求。在系统首选项中,Python 已被授予所有通知权限。我在这里缺少什么?

最佳答案

只有代码签名的应用程序将被授权通过 UNUserNotificationCenter 发送用户通知。我相信这个要求是新的,不适用于 NSUserNotificationCenter

编辑:这实际上很容易实现。您只需要一个已签名的 Python 框架构建,由来自 python.org 的官方安装程序提供。 .通过 Homebrew 或大多数其他 channel 安装的 AFAIK 未签名。

关于objective-c - PyObjC "Notifications are not allowed for this application",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57381422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com