首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUserNotificationCenter.defaultUserNotificationCenter()使用PyInstaller返回无

NSUserNotificationCenter.defaultUserNotificationCenter()使用PyInstaller返回无
EN

Stack Overflow用户
提问于 2014-08-08 13:36:23
回答 1查看 454关注 0票数 3

我正在尝试向通知中心(Mac )发送通知,我正在使用PyObjC绑定来使用我们python应用程序中的可可api。

我使用的代码片段如下:

代码语言:javascript
复制
import Foundation¬
import objc¬

NSUserNotification = objc.lookUpClass('NSUserNotification')¬
NSUserNotificationCenter = objc.lookUpClass('NSUserNotificationCenter')¬

notification = NSUserNotification.alloc().init()¬
notification.setTitle_("TestTitle")¬
notification.setInformativeText_("This is sample text")¬
center = NSUserNotificationCenter.defaultUserNotificationCenter()¬
center.deliverNotification_(notification)¬

当我在上面直接从python运行时,它运行良好,并在通知中心显示通知。但是,当我使用PyInstaller打包上面的程序准备二进制文件并运行时,它会给出以下错误。

代码语言:javascript
复制
AttributeError: 'NoneType' object has no attribute 'deliverNotification_'

这意味着我没有得到默认用户通知中心的对象。

有人遇到这个问题了吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 13:12:57

找到答案了。事实证明,我们需要在应用程序的CFBundleIdentifier文件中定义‘Info.plist’键,它在PyInstaller生成的plist文件中默认不存在。否则,应用程序将无法访问Notification。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25204797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档