Safari 如何制作一个;下载「;山狮10.8上的Finder中的图标?

Safari 如何制作一个;下载「;山狮10.8上的Finder中的图标?,safari,osx-mountain-lion,finder,Safari,Osx Mountain Lion,Finder,从OS X 10.8 Mountain Lion开始,Safari在下载文件时会创建一个动态图标,如下所示: : 进度条显示进度,单击左上角的关闭按钮告诉Safari停止下载 第三方应用程序是否有办法创建此类图标 我想没有与应用商店兼容的方法可以做到这一点,但我很好奇如何做到这一点/Safari是如何仅仅为了兴趣而做到这一点的 我认为这是NSFileWrapper的一部分,您可以通过应用商店来完成。我不知道 NSFileWrapper *fw = [[NSFileWrapper alloc] i

从OS X 10.8 Mountain Lion开始,Safari在下载文件时会创建一个动态图标,如下所示:

:

进度条显示进度,单击左上角的关闭按钮告诉Safari停止下载

第三方应用程序是否有办法创建此类图标


我想没有与应用商店兼容的方法可以做到这一点,但我很好奇如何做到这一点/Safari是如何仅仅为了兴趣而做到这一点的

我认为这是
NSFileWrapper
的一部分,您可以通过应用商店来完成。我不知道

NSFileWrapper *fw = [[NSFileWrapper alloc] initWithURL:fileURL,
                    // don't memory map, we only want to change the icon
                                               options:NSFileWrapperReadingWithoutMapping 
                                                 error:NULL];

[fw setIcon:updatedIcon];
请注意,
icon
setIcon
ApplicationKit
类别的一部分,而不是
Foundation
中的主要NSFileWrapper实现:

编辑:这就是为什么你可以有一个进度条。要创建关闭按钮,您需要一个图标的
NSView
参考,就像您可以使用停靠图标一样

编辑2:WebKit浏览器也会这样做(不仅仅是Safari),所以如果你翻阅源代码,你可能会找到它


编辑3:我想这是通过
NSURLDownload
自动完成的。如果你做了一个虚假的下载,并在运行中生成下载内容,你可以自己使用这种风格。不过,我认为不可能制作任意可点击的图标

NSURLDownload
从macOS Sierra开始就不推荐使用。