从OS X 10.8 Mountain Lion开始,Safari会在下载文件时创建动态图标,如下所示:
:
进度条显示进度,单击左上角的关闭按钮会让Safari停止下载。
第三方应用有没有办法创建这种图标?
我猜这里没有与App Store兼容的方式,但我很好奇如何做到这一点/ Safari为了感兴趣如何做到这一点。
答案 0 :(得分:0)
我认为它是NSFileWrapper
的一部分,您可以通过App Store进行操作。我不知道。
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实现:https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSFileWrapper_AppKitAdditions/NSFileWrapperApplicationKitAdditions.html
编辑:这就是你可以拥有进度条的方法。要创建关闭按钮,您需要NSView
对图标的引用,就像您可以使用停靠图标一样。
编辑2:WebKit浏览器也是这样做的(不仅仅是Safari),所以如果你挖掘源代码,你可能会找到它。
编辑3:我认为它是由NSURLDownload
自动完成的。如果你做了一个真正生成下载内容的虚假下载,你可以自己使用这种风格。但我不相信可以制作任意可点击的图标。