当您不使用 Xcode 构建时,如何设置 MacOS 应用程序的图标?

问题描述 投票:0回答:1

我创建了一个 Mac OS 应用程序。我正在 Ubuntu 上构建应用程序,无法使用 Xcode。当谈到为应用程序设置图标时,我不知所措。这怎么办?

这可能看起来与此问题重复:

如何设置应用程序的 Mac OS X 应用程序包的图标?

但是,此处给出的解决方案(只需在 info.plist 中添加 CFBundleIconFile 标记,并在应用程序的 Resources 目录中添加关联的 .icns 文件)对我不起作用,也不适用于该线程中的其他一些人。答案已经很老了——有更新的流程吗?或者,必须采取其他步骤才能使其发挥作用吗?我正在使用一个名为 Image2icon 的程序来生成 .icns 文件 - 这是否还不够,必须采取不同的过程来生成 .icns?

macos icons .app
1个回答
1
投票

晚上好,第一个问题的答案是,一旦图标创建并放置在资源中,您当前的图标就没有改变吗? (想象一下,在文件 info.plist 中,您已经命名了图标)在这种情况下,您可能必须删除 2 个文件才能找到下面的新图标,我给您留下了一个 applesscript 脚本,该脚本会删除系统自动重新创建的 2 个文件。在脚本中,您必须通过您的用户名和密码更改“yourname”和“yourpassword”,否则它将无法工作。一旦启动脚本,屏幕会变黑并重新出现,我放了xtrafinder,如果你不使用它,用xtrafinder擦掉该线。

try

set erase to do shell script "sudo find /private -name" & quoted form of "com.apple.dock.iconcache" user name "yourname" password "yourpassword" with administrator privileges

do shell script "echo" & quoted form of erase do shell script "sudo rm
-rf -v" & quoted form of erase user name "yourname" password "yourpassword" with administrator privileges

set erase to do shell script "echo" & quoted form of erase & " | sed 's
# com.apple.dock.iconcache#com.apple.iconservices#'"

set erase to do shell script "echo" & quoted form of erase

do shell script "sudo rm -rf -v" & quoted form of erase user name "yourname" password "yourpassword" with administrator privileges

do shell script "sudo killall Dock" user name "yourname" password "yourpassword" with administrator privileges

do shell script "sudo killall iconservicesagent" user name "yourname" password "yourpassword" with administrator privileges

do shell script "Sudo killall Finder" user name "yourname" password "yourpassword" with administrator privileges quit application "XtraFinder"

do shell script "Sudo open -a /Applications/XtraFinder.app" user name "yourname" password "yourpassword" with administrator privileges

do shell script "sudo pkill loginwindow" user name "yourname" password "yourpassword" with administrator privileges

end try
© www.soinside.com 2019 - 2024. All rights reserved.