从终端 OSX 更改应用程序的图标

从终端 OSX 更改应用程序的图标

所以我有一个应用程序,我想更改其图标。如果我Contents/Resources/通过 GUI 将新图标拖放到应用程序中,应用程序就会更新。

但是,如果我cp在终端中单击图标,则图标不会更新,并且仍然显示原始图标或显示原始图标的略微损坏的版本。

我还需要做什么才能允许 .icns 通过终端更新(我需要能够为项目编写脚本。)

非常感谢。

答案1

也许有点晚了,但看看这个文章

塞思·瓦尔戈 (Seth Vargo) 解释了他如何创建一个包含自定义图标的文件夹,~/.custom-icons以及每次应用程序更新重置其图标时运行的一个小脚本。

function replace_icons() {
  cp ~/.custom-icons/atom.icns /Applications/Atom.app/Contents/Resources/atom.icns
  touch /Applications/Atom.app
  sudo killall Finder && sudo killall Finder
}

答案2

我要检查两件事:

  1. 确保这是引用的filename.icns确切文件名Contents/_CodeSignature/CodeResourcesContents/PkgInfo

  2. 确保的权限filename.icns正确。如果您ls -l从 内部运行Contents/Resources/,您应该会看到filename.icns拥有所有者root和组wheel,权限列为-rw-r--r--。如果您没有看到,您需要运行以下命令来修复此问题:

    sudo chown root:wheel filename.icns

    sudo chmod 644 filename.icns

如果您想了解有关权限的更多信息,请查看以下链接:

http://www.macinstruct.com/node/415 (有关权限和所有权的有用指南)

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/chown.8.html(chown 手册)

https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/chmod.1.html(chmod 手册)

相关内容