我正在编写我自己的 finder 扩展。该扩展在大多数情况下都能正常工作,但有时在我们的某些机器上它会决定不再工作。
到目前为止,我还没有设法找出发生这种情况的任何模式。我得到的唯一一点是它在崩溃报告中写道:
No SDK cache entry for extension!
google了一下发现在mac中有时会出现这个问题,解决方法是:
sudo /usr/libexec/xpchelper --rebuild-cache
但我想了解为什么会发生这种情况,所以也许这里有人更了解这意味着什么,以及我可能做错了什么导致了这次崩溃。
我唯一怀疑的是我们的应用经常删除和安装这个扩展,但到目前为止我无法验证这是否是原因
最佳答案
您的 OS X 安装有问题。修复它的最简单但不是最快的方法是重新安装操作系统。除非您赶时间或网络访问受限,否则这就是我的建议,尤其是因为我不知道安装是否还有其他问题。请在重新安装前备份所有数据。除非出现问题,否则您不需要备份。 下面的高级快捷方式如果有效,可以为您节省一些停机时间(如果适用,还可以节省 5 GB 下载的费用。)
备份所有数据。
断开所有外部存储设备。
以恢复模式启动。如果出现提示,请选择一种语言。将出现 OS X 实用程序屏幕。其中一个选项是安装 OS X。这不是您要做的。
仅当您使用 FileVault 2 时才需要执行此步骤。如果您不知道什么是 FileVault,则说明您没有在使用它。转到下一步。否则,启动“磁盘工具”,然后选择 FileVault 卷的图标(“Macintosh HD”,除非您给它起了不同的名称。)它将嵌套在另一个驱动器图标下方。单击工具栏中的解锁按钮,并在出现提示时输入您的登录密码。然后退出磁盘工具返回主屏幕。
选择在线获取帮助。 Safari 将启动。在 Recovery 中,您将无法访问您的书签,但您也不需要它们。加载此网页。
在下面一行中的任意位置单击三次以将其选中: chflags norestricted/V*//S/*/缓存 按组合键 command-C 将所选文本复制到剪贴板。
退出 Safari。从菜单栏中选择 公用事业 ▹ 终端 终端应用程序将启动。按组合键 command-V 粘贴到终端窗口。 等待以井号 (#) 结尾的新行出现。退出终端以返回主屏幕。
选择 ▹ 重启 从菜单栏。
此步骤必须在重新启动后以管理员身份登录时执行,而不是在恢复模式下。如果您只有一个用户帐户,那么您就是管理员。 在第 6 步中选择并复制此行: sudo/usr/libexec/xpchelper --rebuild-cache 像以前一样粘贴到终端窗口中。系统将提示您输入登录密码。键入时不会显示任何内容。仔细输入,然后按回车键。如果您没有登录密码,则需要先设置一个,然后才能运行该命令。您可能会收到一次警告,提醒您要小心。确认。您不需要发布警告。 如果您看到一条消息说您的用户名“不在 sudoers 文件中”,那么您没有以管理员身份登录。以一个人身份登录并重新开始。 等待以美元符号 ($) 结尾的新行出现在您输入的内容下方。
按照第 9 步中的操作使用以下行: sudo/usr/libexec/*/app_sandbox_cache_builder --rebuild-cache 然后您可以退出终端。
https://discussions.apple.com/thread/7388214?start=0&tstart=0
关于macos - 没有扩展的 SDK 缓存条目! - Mac 扩展崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44927075/