Help Viewer将文件缓存在哪里?Mac Help Viewer不显示最新版本的HTML文件.这已经持续了好几个星



Xcode 4.5.2 Mountain Lion,Mac应用程序

我严格遵循文件。帮助文件夹及其子文件夹将添加到项目/资源文件夹中,并显示为蓝色。

必要时,xcode会添加文件夹引用。

无论我是在Xcode中还是在文本编辑器中外部查看HTML文件,我都会看到该文件的新版本。

在应用程序中,"帮助"页面都会显示,锚可以工作,但这些页面是旧版本。

没有显示最新版本的特定文件是DgxFiles.html它位于以下方案中/pgs/DgxFiles.html

当我在应用程序中访问"帮助"时,我会看到一个旧版本的HTML文件。旧的帮助文件似乎被缓存在某个地方。

应用程序的Info.plist有

<key>CFBundleHelpBookFolder</key>
<string>HungryMeHelp</string>
<key>CFBundleHelpBookName</key>
<string>com.DrummingGrouse.HungryMe.help</string>

登录页面,HungryMe.html有:

<meta name="AppleTitle" CONTENT="com.DrummingGrouse.HungryMe.help"/>

我拖到项目中的文件夹名为:HungryMeHelp

帮助文件夹结构为:

HungryMeHelp/
Contents/
Info.plist
Resources/
shrd/ <shared artwork>
English.lproj/
HungryMe.html <title page>
HungryMe.helpindex
pgs/ <the rest of the content pages>
sty/ <style sheets, generated list template>
scrpt/ <scripts>

我有:

0. Deleted /HungryMeHelp and re-added it.
1. Cleaned the project.
2. Reloaded Xcode
3. Rebooted Mac

在您的主页>库>首选项文件夹中清除以下文件

com.apple.help.plist
com.apple.helpui.plist
com.apple.helpviewer.plist

在您的主页>库>缓存文件夹中回收以下文件夹

com.apple.helpui folder
com.apple.helpdata
com.apple.helpd
com.apple.helpviewer

我错过了什么?

感谢阅读。标记

我在这里找到了Apple Help Viewer缓存问题的答案:

http://www.cocoabuilder.com/archive/cocoa/312037-updating-an-app-help.htmlhttp://macergun.blogspot.com/2011/06/dealing-with-help-viewer-cache.html

我在cocoabuilder.com上找到了下面的帖子因此,我从系统中删除了该应用程序的现有副本。帮助系统随即更新!


2011年12月13日下午5点17分,Graham Cox写道:

随着应用程序的每次更新,我们通常会更改帮助手册。我们发现,该系统在识别这一点方面非常糟糕,并缓存旧版本的帮助,这导致我们添加的新内容不可用。虽然我可以手动丢弃帮助缓存并强制更新,但这不是我们可以向用户提出或期望的。

搜索档案,您会发现您可能遇到了一个已经存在很长时间的众所周知的问题。它通常只影响开发人员,而不会影响用户。如果另一个较旧版本的应用程序仍在您的计算机上,在Applications文件夹中,或者可能是以仍然存在的早期构建产品的形式,这对开发人员来说尤其令人恼火,因为销毁帮助缓存并强制更新并不一定会阻止系统在旧版本的应用程序中使用旧版本的帮助文件夹。

当我处理帮助文件夹时,我会定期将应用程序的所有旧版本压缩到zip文件中,并在每次测试前丢弃帮助缓存。

典型的用户在安装新版本时会破坏旧版本的应用程序,一切都很好。

--

Bill Cheeseman-

我只是对helpd缓存感到愤怒,同时开发了一本帮助书,就像我在网上找到的任何东西一样,包括这里的内容,关于清除"helpd"的缓存不再工作(在MacOS 12-Monterey上的列表中)。

当我的帮助(未更新)使用Apple的"活动监视器.app"打开时,我在查看HelpViewer Networking过程打开的文件时发现了什么。

现在,缓存构建在库文件夹中的Container目录中。

~/Library/Containers/com.apple.helpviewer/Data

在该目录中,您可以找到以下形式的缓存帮助文件.*

例如

com.johnsmith.johnapps.com.johnsmith.johnapps.help*1.0.help/

对该目录进行rm-rf操作将清除HelpViewer为您正在开发的帮助书使用的帮助缓存您仍然需要杀死helpd守护进程才能正常工作。

例如

rm -rf com.johnsmith.johnapps.com.johnsmith.johnapps.help*1.0.help/
pkill helpd

请注意,在plist文件中更改帮助书的版本没有帮助。在我的情况下,即使我增加了plist帮助书的版本(请参阅创作Apple帮助),生成的缓存仍然是1.0版本,即使它在版本更新后重新生成。

最新更新