首页 > 解决方案 > rumps.notification 不工作 - 静默无法显示通知

问题描述

我有一个简单的 python3.9 臀部应用程序,大致遵循记录的示例https://rumps.readthedocs.io/en/latest/examples.html

主要.py:

import rumps


class SiMenuBarApp(rumps.App):
    def __init__(self):
        super(SiMenuBarApp, self).__init__("SiProdHacks")
        self.menu = ["Item1"]

    @rumps.clicked("Item1")
    def item_one(self, _):
        print("Hi Si!")
        rumps.notification("SiProdHacks", "Keeping Si's Brain Free since 2021", "KAPOWIE!")


if __name__ == '__main__':
    app = SiMenuBarApp()
    app.icon = "happyicon.png"
    app.run()

它运行良好,但是当我单击菜单栏 item1 时,它会打印我的控制台消息,但不会出现任何通知。

我正在使用python 3.9.0rumps=0.3.0iTerm( Mac OS 10.15.7Catalina)。

控制台输出为:

❯ pipenv run python main.py
Hi Si!

标签: python-3.xmacosrumps

解决方案


好的,我对此进行了更多挖掘,并发现了臀部的调试模式:

import rumps
rumps.debug_mode(True)

将以下内容添加到输出中:

In this case there is no file at "/Users/simonrowland/.local/share/virtualenvs/si-menu-productivity-mlyLc7OG/bin/Info.plist"

Running the following command should fix the issue:
/usr/libexec/PlistBuddy -c 'Add :CFBundleIdentifier string "rumps"' /Users/simonrowland/.local/share/virtualenvs/si-menu-productivity-mlyLc7OG/bin/Info.plist

运行建议的命令:

/usr/libexec/PlistBuddy -c 'Add :CFBundleIdentifier string "rumps"' ${PATH_TO_VENV_BIN_DIR}/bin/Info.plist

让它工作!

在此处输入图像描述


推荐阅读