gpt4 book ai didi

cocoa - 使用 cocoa 刷新 Finder 中文件或文件夹的图标

转载 作者:行者123 更新时间:2023-12-03 17:05:12 26 4
gpt4 key购买 nike

我正在为 Mac 开发一个 cocoa 应用程序。我正在使用我的应用程序在文件和文件夹上应用覆盖图标。但我的问题是,当我从应用程序更改文件或文件夹的图标时,它不会在 Finder 中反射(reflect)出来,除非我单击 Finder 中的任何文件或文件夹。为了刷新 Finder,我使用应用程序中的以下代码运行以下 applescript:

NSString *source=[NSString stringWithFormat:@"tell application \"Finder\" to update POSIX file \"%@\"",itemPath];
NSAppleScript *run = [[NSAppleScript alloc] initWithSource:source];
[run executeAndReturnError:nil];

但是这段代码并没有刷新我的 Finder。知道如何刷新 Finder 以立即反射(reflect)文件或文件夹的图标吗???提前致谢...

最佳答案

在 Finder 中使用字符串时,必须指定类(文件夹、文件、磁盘、项目...),项目适用于所有类别(文件夹、文件、...) )。

没有它,它对某些人有效,但并不适合所有人

此外,Finder 中的“posix file thePath”带有括号更加可靠。

试试这个

NSString *source=[NSString stringWithFormat:@"tell application \"Finder\" to update item (POSIX file \"%@\")",itemPath];

或者没有NSApplescript:

[[NSWorkspace sharedWorkspace] noteFileSystemChanged: itemPath];

关于cocoa - 使用 cocoa 刷新 Finder 中文件或文件夹的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com