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

标签 objective-c xcode cocoa appkit apple-help

是的 - 所以我创建了一本帮助手册,做了 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 帮助有什么调试技巧吗?
要打开日志记录吗?有什么……吗?

最佳答案

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

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 目标,它被复制到主项目 Resources 文件夹中。

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

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

关于objective-c - 调试帮助书 ("The selected topic is currently unavailable"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926232/

相关文章:

ios - 基于 iOS 应用程序设计 View Hierarchy Tabbar bar

c++ - "Extra ' ; Xcode C++项目' "编译错误

iphone - 如何使用 Xcode 以编程方式在 SQLite 数据库中创建索引?

objective-c - NSTextView 图像/附件

objective-c - 如何以编程方式启用/禁用 mac 内置键盘

objective-c - SBJSON 将 NSString 解析为 NSDictionary

ios - 尝试使用 UIViewAnimationOptionTransitionFlipFromLeft 展开自定义 Segue

ios - NSOperation 和 NSOperationQueue 工作线程与主线程

objective-c - 生成DSYM文件: dsymutil fails with exit code 11

ios - Swift 日期相当于 30 纳秒以下