是否可以使用NodeJS更改macOS上任何应用程序的图标...
我一直在搜索,但是找不到有用的东西。 就像将.icns文件拖到任何应用程序(但使用NodeJS)的“获取信息”菜单中的图标上一样。
答案 0 :(得分:2)
您只需要替换应用内的图标文件即可。
将应用程序视为文件夹,在其Info.plist
文件夹内的应用程序中查找Contents
文件。
在Info.plist
文件(这是一个xml文件)中,寻找CFBundleIconFile
键。它的值为应用程序的图标文件。
在这里您有两种选择-您可以选择以下一种:
3a。将此值替换为您的图标或
3b。只需将图标文件替换为您自己的同名图标即可。
这是一个用另一个具有相同名称的文件替换图标文件的示例:
const plist = require('simple-plist');
const path = require('path');
const fs = require('fs');
function (appPath, newIconFile) {
plist.readFile(path.join(appPath, 'Contents/Info.plist'), (err, data) => {
const iconName = path.join(appPath, 'Contents/Resources', data.CFBundleIconFile);
fs.copyFile(newIconFile, iconName, (err) => {
console.log('icon changed!');
});
});
}
simple-plist
库还支持将plist数据保存回磁盘,因此我将替换CFBundleIconFile
值作为读者的练习。