我正在尝试完成一个客户端的产品,需要在桌面和Dock上创建两个别名,以便最终用户轻松启动产品中的两个主要应用程序。安装脚本通过设置各种文件夹和文件的图标来完成安装。安装将在/Applications文件夹下创建一个文件夹,并在/Users/Shared文件夹下创建另一个文件夹。这些文件夹中的每一个都有一个使用SetFileIcon (共享软件应用程序)应用到它们的图标。然后,该脚本在桌面上创建两个别名,并再次使用SetFileIcon为每个别名应用一个图标。
我的第一个问题是,其中一个别名指向Excel电子表格,但每次运行更新应用程序时,这个电子表格都会被替换。这使得指向废纸篓中的电子表格的别名和新文件完全没有别名。我的更新应用程序是用Mono编写的-所以没有简单的方法可以调用Mac OS来重新创建别名,重置图标并将其放在桌面和dock上。
我试图通过使用脚本命令创建电子表格的符号别名,然后应用图标来解决此问题:
SetFileIcon "/path/to/spreadsheeticonfile" "/path/to/spreadsheet.xls"
ln -s "/path/to/updater" "/Users/$USER/updateralias"
ln -s "/path/to/spreadsheet.xls" "/Users/$USER/spreadsheetalias"
SetFileIcon "/path/to/iconfile" "/Users/$USER/spreadsheetalias"第一个SetFileIcon命令运行良好,电子表格现在有一个与之关联的新图标。第一个"ln -s“也工作得很好,并创建了一个新的slias,其中包含与其关联的更新程序图标。第二个"ln -s“创建电子表格的别名,但有一个纯白色图标,而不是与电子表格关联的图标。最后一个SetFileIcon是我单独尝试在别名上强制图标-这也不起作用。
我曾尝试创建一个启动excel电子表格的bash脚本,它似乎接受一个图标,但似乎有一个类似的图标。但它也会在excel电子表格启动后让终端会话运行,而且bash脚本的别名也不会接受图标,即使是手动应用的。
2个问题: 1.有没有办法将图标分配给一个有效的符号别名?即使使用GetInfo手动设置别名上的图标也不起作用。2.如果Alias无法正常工作,有没有什么解决方法可以让我在安装时在用户桌面和他们的dock上有一个链接,上面有我们想要使用的漂亮图标,而不是一个通用的excel白色方块。我只需要一个简单的方法来放置一个带有图标的链接到用户桌面上的另一个目录中的文件,这将通过该文件定期更新,并在安装时做到。很简单。
欢迎提出建议。
谢谢,尼尔
附注:这可能是不言而喻的,我是一个Mac新手-我最初开发这个产品的客户端在PC世界,但他后来收到反复要求翻译它为Mac,所以,在这里,我正在努力学习在MAC上的开发。
发布于 2014-05-28 11:08:02
符号链接与别名不同。(也没有“符号别名”这回事。)您不能设置符号链接的图标,因为它不是一个普通文件,因此无法在其上设置适当的属性。
创建别名的方法有很多种,但使用AppleScript是一种简单的方法:
osascript -e 'tell application "Finder" to make new alias at (path to desktop folder) to (("/path/to/file") as POSIX file)'(注意:路径需要存在才能正常工作。)
一旦你这样做了,你应该能够在上面设置图标。
https://stackoverflow.com/questions/23900709
复制相似问题