Справочная книга по отладке (выбранный раздел в настоящее время недоступен)

Правильно - я создал справочную книгу, сделал все правильно, перепроверил мои файлы plist и index.html, и все, что я получил, - это печально известный

Выбранная тема в настоящее время недоступна.

Единственная запись в консоли при попытке открыть справочную книгу - это простой

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

Не очень полезно.

Куда идти?
Есть ли методы отладки для справки Apple?
Ведение журнала, которое нужно включить? Что-нибудь..?


person ATV    schedule 08.03.2015    source источник
comment
Как ты вообще увидел консоль? Я не вижу консоли в программе просмотра справки Apple.   -  person jmoukel    schedule 22.06.2017
comment
Вы имели в виду в консоли Xcode ?? @ATV   -  person jmoukel    schedule 23.06.2017
comment
@jmoukel /Applications/Utilities/Console.app   -  person qnoid    schedule 04.04.2018


Ответы (1)


Просто несколько часов боролся с той же проблемой.

ID: (null) означает, что вам не хватает ключей CFBundleName или HPDBookTitle, или 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 в папку Applications.

Вы также можете попробовать очистить кеш-память программы HelpViewer, если она по-прежнему не работает. Сброс HelpViewer описан здесь

person Vladimir Afinello    schedule 25.11.2015
comment
Спасибо за подробное объяснение - не совсем могу вспомнить, что потребовалось, чтобы он наконец заработал. Тот факт, что он не сразу работает, даже после того, как все настроено правильно из-за кеширования Help Viewer, тоже не помогает. Я принял ваш ответ, поскольку он содержит все ключи, которые сейчас есть в моей рабочей справочной книге. Хотя, возможно, это еще не все. Очень сложно настроить их изначально без какой-либо поддержки отладки ... - person ATV; 02.12.2015