我正在使用https://github.com/mikaelbr/node-notifier包在shell中显示通知。
这是我的代码:
var notifier = require('node-notifier');
var path = require('path');
notifier.notify({
title: 'My awesome title',
message: 'Hello from node, Mr. User!',
icon: path.join(__dirname, 'coulson.jpg'), // absolute path (not balloons)
sound: true, // Only Notification Center or Windows Toasters
wait: true // wait with callback until user action is taken on notification
}, function (err, response) {
// response is response from notification
});
notifier.on('click', function (notifierObject, options) {
// Happens if `wait: true` and user clicks notification
});
notifier.on('timeout', function (notifierObject, options) {
// Happens if `wait: true` and notification closes
});通知是这样的:

正如您所看到的,终端图标出现在名称之前。
你能告诉我怎么移除那个图标吗?
发布于 2016-02-04 19:05:27
这是node-notifier的已知问题。
不,恐怕这就是通知的工作方式,因为它是发起消息的终端。避免这种情况的唯一方法是使用您的自定义终端通知程序,其中将终端图标替换为您自己的图标。这不是一个大任务,你可以很容易地为通知中心的记者set customPath。
这是由于OS X中通知的工作方式造成的。通知将显示引用应用程序图标,因为我们使用terminal-notifier来推送通知,所以我们有终端通知器图标。
为了解决这个问题,你需要用你自己的app.icns编译终端通知器。下载源代码,在Xcode中用您自己的AppIcon包替换掉它,重新编译终端通知器并将其弹出到节点通知器中。(/node-notifier/vendor/terminal-notifier.app)
现在,您在node-notifier中有了自己的终端通知程序,删除OS X Notification Center代码中的所有图标引用,并运行通知,就像它没有图标一样。如果旧的应用程序图标显示在您的通知中,您需要清除图标缓存。(谷歌如何做到这一点)
来自mikaelb的另一个有价值的评论
说的没错。但请记住,node-notifier使用终端通知器(github.com/mikaelbr/terminal-notifier)的分支来添加等待通知完成的选项,因此这应该用于添加您自己的图标。一种简单的方法是从供应商文件夹中复制/粘贴,并使用
customPath指向您自己的供应商。
发布于 2016-10-30 18:28:23
我尝试了@Aleksandr M的步骤,但似乎对我不起作用。也许我对这些步骤理解得还不够好。这就是我的工作原理。
我克隆了https://github.com/mikaelbr/terminal-notifier。然后用xcode打开项目,删除Terminal.icns文件,并用我的自定义图标Myicon.icns替换它。
然后通过将密钥icon file设置为Myicon来编辑terminal-notifier/Terminal Notifier/Terminal Notifier-Info.plist。
这样做之后,简单地构建项目就不起作用了。我必须更改build version和build identifier (任何新值都可以) see this的值。
然后,我只需使用xcode构建项目,然后将构建的.app文件(您可以通过从xcode Products > right click the file > show in finder单击项目的Products目录来找到它)复制到我的电子项目中
例如,您的最终路径可能如下所示。electron-project/vendor/terminal-notifier.app。
然后我按照@Aleksandr M的建议进行set customPath。
这就是我的样子
var notifier = new NotificationCenter({ customPath: 'vendor/terminal-notifier.app/Contents/MacOS/terminal-notifier' });
然后它就成功了!
发布于 2018-06-13 15:54:44
这解决了我的问题,你只需要准备好你的icns文件:
下载后在终端运行以下命令:customise- terminal -notifier
** path/customise-terminal-notifier-master/customise-terminal-notifier -i path/Terminal.icns -b com.bundle.identifier
https://stackoverflow.com/questions/35002117
复制相似问题