我刚刚从新的Mac上卸载了一个程序。该程序将默认打开所有.r
文件。我安装了一个新程序,并将其默认设置为打开.r
文件,但文件的旧图标仍然保留。旧程序的图标在每个.r
-s文件中都是stil 。
如何更新.r
-files 的图标,以便它们查看新程序的图标?为什么我的Mac上仍然存在该图标,我可以删除旧程序的图标吗?
我刚刚从新的Mac上卸载了一个程序。该程序将默认打开所有.r
文件。我安装了一个新程序,并将其默认设置为打开.r
文件,但文件的旧图标仍然保留。旧程序的图标在每个.r
-s文件中都是stil 。
如何更新.r
-files 的图标,以便它们查看新程序的图标?为什么我的Mac上仍然存在该图标,我可以删除旧程序的图标吗?
Answers:
您可以尝试从终端重建LaunchServices数据库:
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain本地-domain系统-domain用户
lsregister
在Mavericks上的路径为:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
lsregister
在macOS 10.12上,Sierra如@florin所述位于文件路径中,并且执行时没有任何错误消息,但没有任何效果。另外,重新启动Finder,整个系统没有任何效果。我已将.TXT(纯文本)的关联从TextEdit更改为TextWrangler,然后又重新更改为TextEdit,但是它仍显示文本文件的TextWrangler图标。
sudo lsregister …
会工作。怀疑因为命令行包含参数-domain system
,我认为它需要管理员权限。尽管我没有得到任何提示这种错误的信息,但是也许可以lsregister
在没有任何反馈的情况下将其实现得如此微不足道,因为作为框架帮助程序,它可能不打算非编程地运行。我假设已正确清除LaunchServices的用户缓存,但未清除系统缓存。不过,找到了适用于macOS Sierra 10.12.1的可行
对于优胜美地10.10.4使用:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
在macOS Sierra 10.12.1上lsregister
,@Mateusz Szlosek提供的解决方案无效。
但是此解决方案有效:在MacBook上重置图标缓存
但是,通过Finder的“打开方式...”更改文件类型的默认应用程序不会立即刷新桌面和Finder窗口中的图标。这是一个错误。
最后有些批评:作为长期使用Apple的用户,我总是更喜欢macOS的即时反馈和GUI刷新,而不是Windows,在Windows上您仍然必须进行大量手动刷新,并且给用户带来更多负担/预防措施缺乏跨进程同步/意识(即在其他应用程序中打开文件时在资源管理器中重命名文件,仍然会在2016年造成问题)。
在Mac上,所有股票应用程序和所有使用标准框架的应用程序之间的即时跨进程交互都很好,例如,重新启用网络接口,Safari自动加载空闲浏览器选项卡的内容,在Finder中打开文件时重命名该文件轻松自如,在每个视图实例(查找器,应用程序文件对话框,应用程序标题栏中的图标)中更改图标及其更新等。
讨厌看到这些品质消失。苹果显然忽略了其专业Mac用户,而忽略了其iOS用户及其云服务。苹果使用iCloud可以完美地实现跨设备同步,但无法像以前那样在Mac内实现完美的同步。