【问题标题】:Change icon of alias on desktop?更改桌面上别名的图标?
【发布时间】:2013-11-29 10:44:42
【问题描述】:

我的桌面上有一个实际应用程序的别名。

现在我必须在运行时更改它的图标。 我正在使用,

[[NSWorkspace sharedWorkspace] 
setIcon:imgAppIcon forFile: shortCutDestPath options:0];

但是/Application 文件夹中原始文件的这个变化图标。而不是更改别名。

【问题讨论】:

  • 我不知道你可以改变别名的图标而不改变原来的,你能在finder cmd中做吗?我点击图像,粘贴其他东西......
  • 我可以在 Lion 和 Mountain Lion 中改变这一点,但在 Mavericks 中却不行!!!
  • 桌面别名是非常windows的东西。不要在代码中创建它们。

标签: objective-c macos nsworkspace


【解决方案1】:

我得到了答案,而不是创建别名,而是在您的应用程序的 shortCutDestPath 处创建一个硬链接:

 [[NSFileManager defaultManager] linkItemAtPath:<application path>
                                                toPath:shortCutDestPath
                                                 error:&error];

更新图标

BOOL result = [[NSWorkspace sharedWorkspace] setIcon:imageIcon
                                       forFile: shortCutDestPath
                                       options:NSExclude10_4ElementsIconCreationOption];

【讨论】:

  • 没有。不要在用户区创建硬链接。这绝对是要求用户打破思维并造成特权问题。
  • @uchuugaka:你能详细说明一下吗?
  • 如果你创建一个硬链接,它就是同一个文件。这意味着如果某些用户将其从桌面上删除,则删除原始文件。
  • @uchuugaka 我们已经测试过,如果用户删除硬链接,那么只有硬链接会被删除,对原始链接没有影响。
  • 我遇到了完全相同的问题,并为此苦苦挣扎了几个月!这是一个很好的解决方案,我还没有测试过,但会尝试。这是我在为这个问题而苦苦挣扎的问题-apple.stackexchange.com/questions/174761/…-您在测试中的说明删除该文件不会影响原始文件非常重要,谢谢,我会对此进行测试并向您报告我的经验!
猜你喜欢
  • 2021-10-11
  • 1970-01-01
  • 2013-08-12
  • 2015-01-29
  • 2017-10-14
  • 2021-06-23
  • 2017-04-08
  • 2022-11-24
  • 1970-01-01
相关资源
最近更新 更多