Куда кеширует Help Viewer файлы? Mac Help Viewer не отображает новейшую версию файлов HTML. Это работало в течение нескольких недель. Что случилось?
Xcode 4.5.2 Mountain Lion, Mac App
Я точно следую документации. Папка справки и ее подпапки добавляются в папку проектов / ресурсов и отображаются синим цветом.
Ссылки на папки были добавлены xcode при необходимости.
Независимо от того, просматриваю ли я файл HTML в Xcode или извне в текстовом редакторе, я вижу новую версию файла.
Внутри приложения отображаются страницы справки, привязки работают, но страницы более старые.
Конкретный файл, который не отображается с последней версией, это 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
Удалите в папку Home > Library > Preferences следующие файлы
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
Что мне не хватает?
Спасибо за прочтение. отметка
2 ответа
Я нашел ответы на мои вопросы о кеше Apple Help Viewer здесь:
http://www.cocoabuilder.com/archive/cocoa/312037-updating-an-app-help.html http://macergun.blogspot.com/2011/06/dealing-with-help-viewer-cache.html
Я нашел сообщение ниже на cocoabuilder.com. В результате я удалил существующие копии приложения из моей системы. Справочная система обновилась сразу после этого!
13 декабря 2011 года в 5:17 вечера Грэм Кокс написал:
С каждым обновлением нашего приложения мы обычно меняем справочную книгу. Мы обнаруживаем, что система очень плохо распознает это и кеширует старые версии справки, что приводит к недоступности добавляемых нами новых материалов. Хотя я могу вручную очистить кэши справки и принудительно обновить данные, мы не можем этого просить или ожидать от наших пользователей.
Поиск в архивах, и вы обнаружите, что вы, вероятно, испытываете известную проблему, которая существует уже очень давно. Обычно это влияет только на разработчика, а не на ваших пользователей. Это особенно раздражает разработчика, если другая, более старая версия приложения все еще находится на вашем компьютере, в папке "Приложения" или, возможно, в виде более ранних продуктов сборки, которые все еще сидят, потому что затем уничтожение кешей справки и принудительное обновление не обязательно помешает системе использовать старую версию вашей справочной папки в более старой версии вашего приложения.
Когда я работаю со своими папками справки, я регулярно сжимаю все старые версии приложения в zip-файлы на время и очищаю кэш справки перед каждым тестом.
Обычный пользователь удаляет старую версию приложения при установке новой версии, и все в порядке.
-
Билл Чизмен -
Я просто злюсь на кеш helpd при разработке справочной книги, как и все, что я нашел в Интернете, включая то, что найдено здесь, об очистке кеша «helpd», чтобы больше не работать (в списке на MacOS 12 - Монтерей).
Я обнаружил, что я ясно смотрю на файлы, открытые сетевым процессом HelpViewer, в то время как моя справка (не обновленная) была открыта с помощью Apple «Activity Monitor.app».
Оказывается, кеш теперь встроен в каталог контейнера в папке вашей библиотеки.
~/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, даже если он был восстановлен после обновления версии.