调试帮助书 ("The selected topic is currently unavailable")

Debugging Help Book ("The selected topic is currently unavailable")

是的 - 所以我创建了一本帮助手册,做了 all the right things,仔细检查了我的 plistindex.html 文件,我得到的只是臭名昭着的

The selected topic is currently unavailable.

尝试打开帮助手册时控制台中的唯一条目是普通的

3/8/15 1:23:42.467 PM HelpViewer[35015]: Couldn't find book with this ID: (null)

帮助不大。

从这里到哪里去?
Apple Help 是否有任何调试技巧
日志记录要打开吗?有什么..?

刚刚为同样的问题苦苦挣扎了几个小时。

ID: (null) 表示您缺少 CFBundleNameHPDBookTitle 键,或者 CFBundleName 不正确。您应该可以在 HelpViewer 日志中正常看到您的包标识符。

在我确定我的帮助手册 Info.plist 文件至少配置了这些 六个键 后,它开始工作了:

...
<key>CFBundleIdentifier</key>
<string>com.company.project.help</string>

<key>CFBundleName</key>
<string>ProjectHelp</string>

<key>HPDBookAccessPath</key>
<string>index.html</string>

<key>HPDBookIconPath</key>
<string>icon.png</string>

<key>HPDBookTitle</key>
<string>Project Help</string>

<key>HPDBookType</key>
<string>3</string>
...

主项目 Info.plist 文件包含这些记录:

...
<key>CFBundleHelpBookFolder</key>
<string>ProjectHelp.help</string>

<key>CFBundleHelpBookName</key>
<string>com.company.project.help</string>
...

这假设您有一个 ProjectHelp.help 目标,它被复制到主项目资源文件夹中。

然后构建一个发布方案并将您的项目.app 文件复制到Applications 文件夹。在那之后,我的帮助手册开始工作了。是的,将签名的 .app 安装到应用程序文件夹后。

您也可以尝试清除 HelpViewer 程序缓存,如果它仍然不起作用。 HelpViewer 重置描述 here