我为我的应用程序注册了帮助手册,然后在接下来的几天里,我更新了帮助手册,但是当我执行我的应用程序时,帮助手册仍然是旧版本,它没有更新,有没有办法取消注册帮助手册?还是让它更新?
有人可以向我指出一个关于如何为Cocoa应用程序创建帮助手册的最新教程.我在网上找到的所有内容都陈旧且过时,Apple文档并没有让它更清晰.我无法弄清楚的一个具体问题是如何创建.help包.
我无法哄骗我的应用程序的"帮助→搜索"功能,以显示与我的应用程序中有用(和唯一)关键字相关的主题.只显示一个关键字.
背景:我在程序的子目录中创建了几个html帮助页面(例如:索引,准确性,转换).如果我调用主帮助,index.html文件显示正常.从那里,我可以点击进入任何其他主题页面.
问题:如果我尝试使用关键字搜索功能,只显示"准确度"和空白指示符(拉起index.html).我有其他关键字,如"坐标",应该指向一个特定的页面,但没有出现.

到目前为止我做了什么:除了重新浏览文档(此时,我有点睡眼惺)之外,我通过BBEdit的语法检查器运行每一页.我还搜索了StackOverflow以获取与该问题相关的信息.因为这些关键词无处不在,所以这是主要的主题匹配,但我已经过去了.
帮助索引器日志指出它已将所有html文件编入索引,在每个文件中找到KEYWORDS和DESCRIPTION元标记(按照帮助手册的建议):
droot.html -- File has KEYWORDS meta tag content being indexed.
gc.html -- File has KEYWORDS meta tag content being indexed.
index.html -- File has KEYWORDS meta tag content being indexed.
droot.html -- File has DESCRIPTION meta tag used for abstract.
gc.html -- File has DESCRIPTION meta tag used for abstract.
index.html -- Finished parsing
droot.html -- Finished parsing
gc.html -- …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的mac应用程序提供帮助支持.我制作了XHTML,HTML和.helpIndex文件.但我不知道如何制作.help文件.我的问题是什么是.help文件?以及如何制作.help文件?
我正在学习苹果课程参考.以下是我复制此链接的内容
创建基本帮助手册
创建包含帮助内容的HTML文件后,您必须将它们组织到帮助手册中. To do this, create a help book folder and include the following items:
我的问题:如何创建帮助书文件夹.我无法理解这一点.我刚刚创建了一个带somename.help的文件夹并将文件复制到它.但这不起作用.是否是创建帮助文件夹的正确方法.
我尝试使用AHRegisterHelpBook和在系统偏好设置面板中打开帮助手册AHGotoPage.它在OS 10.9下工作,但在10.12下失败.
OSStatus err = AHGotoPage( CFSTR("AutoPairs Help"), NULL, NULL );
Run Code Online (Sandbox Code Playgroud)
具体来说,调用返回noErr,但是第一次调用时AHGotoPage,帮助窗口会打开,并显示一条消息,指出无法找到帮助.随后的呼吁AHGotoPage似乎什么都不做.是否有其他方法可以打开嵌入式帮助手册?
更新:不知怎的,我忽略了Cocoa类的存在NSHelpManager.更新我的帮助手册指数与锚和转化利用的后NSHelpManager方法registerBooksInBundle:和openHelpAnchor:inBook:,我仍然在它工作在小牛队和塞拉利昂失败的情况.
我在文件夹中仅使用一种语言为我的应用程序创建了帮助,并且它有效。我尝试过本地化此内容并添加西班牙语翻译,但失败了。
我对Apples Guide 创建帮助手册的理解是,我需要创建一个 .help 包才能使本地化工作。我已经这样做了,但收到一条错误消息“所选主题当前不可用。”。有几次我认为它可以工作,但它只是显示我拥有的预本地化内容。清空帮助查看器缓存似乎可以阻止这种情况,但随后我又返回获取不可用内容错误消息。
在我的应用程序的 AppName-Info.plist 文件中,我有以下帮助相关条目:
<key>CFBundleHelpBookFolder</key>
<string>AppName.help</string>
<key>CFBundleHelpBookName</key>
<string>garsonix.appname.help</string>
Run Code Online (Sandbox Code Playgroud)
我的 AppName.help 文件具有以下结构:
AppName.help
Contents
Info.plist
Resources
English.lproj
index.html
search.helpindex
Spanish.lproj
index.html
search.helpindex
shrd
logo.png
Run Code Online (Sandbox Code Playgroud)
AppName.help 中的 Info.plist 文件具有以下键:
<key>CFBundleDevelopmentRegion</key>
<string>en_GB</string>
<key>CFBundleIdentifier</key>
<string>garsonix.appname.help</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>AppName</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.13</string>
<key>CFBundleSignature</key>
<string>hbwr</string>
<key>CFBundleVersion</key>
<string>1.13</string>
<key>HPDBookAccessPath</key>
<string>index.html</string>
<key>HPDBookIconPath</key>
<string>shrd/logo.png</string>
<key>HPDBookKBProduct</key>
<string>GAppName</string>
<key>HPDBookKBURL</key>
<string>http://www.garsonix.co.uk/</string>
<key>HPDBookRemoteURL</key>
<string>http://www.garsonix.co.uk/</string>
<key>HPDBookTitle</key>
<string>AppName Help</string>
<key>HPDBookType</key>
<string>3</string>
<key>HPDBookIndexPath</key>
<string>search.helpindex</string>
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么,或者知道制作 .help 文件的好教程?
我已经仔细检查了一切,并希望有人能找到一个我没见过的愚蠢的错误.
我正在尝试为我的应用程序构建Apple帮助部分,它正确地转到登录页面,但没有任何锚点工作.调用登录页面并调用位于目录中index.html的另一个页面. test.htmlpgs
在index.html我有:
<a href="help:anchor=support bookID=com.company.app_name.help">Link to another page</a>
Run Code Online (Sandbox Code Playgroud)
在test.html我有:
<a name="support"></a>
Run Code Online (Sandbox Code Playgroud)
所以这是我为了到达现在的位置而遵循的步骤:
1)我构建了Apple文档指定的目录
AppName.help/
Contents/
Info.plist
Resources/
shrd/
English.lproj/
index.html
search.helpindex
pgs/
test.html
Run Code Online (Sandbox Code Playgroud)
2)我按照Apple文档中的规定构建了Help Info.plist.包含在我设置的Info.plist CFBundleIdentifier中com.company.app_name.help.
3)在我的应用程序Info.plist中,我将设置CFBundleHelpBookFolder为AppName.help并设置CFBundleHelpBookName为com.company.app_name.help
4)然后我将我内置的目录复制到Xcode中,同时确保为任何添加的文件夹选择了Create Folder References选项.
5)然后我使用Help Indexer索引目录AppName.help.确保我选择了在所有文件中索引锚信息的选项.然后将.helpindex文件复制到应该是的English.lproj文件夹中.
而已.如果我在index.html文件中放置以下链接它可以正常工作,我注意到有关我的应用程序的一些事情.
<a href="pgs/test.html">Click this link</a>
Run Code Online (Sandbox Code Playgroud)
这也是我的index.html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head> …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我准备发布的 macOS 应用程序制作一本 Apple 帮助手册。然而,我正在尝试让锚点在我的 HTML 中工作。根据苹果的定义:
“锚点允许您唯一地标识帮助书中的主题。当用户点击指向锚点的链接时,帮助查看器会加载包含该锚点的页面。...您还可以使用锚点从应用程序中加载锚定页面,方法是:调用 NHelpManager 方法 openHelpAnchor:inBook: ...”
苹果的例子:<a name="ArrivalTimesUsingStopID"></a>
在我的 Apple 中,我有一个 NSAlert,它具有以下代码来显示帮助按钮,以便当您单击它时,它会打开指定的锚字符串。
alert.showsHelp = true
alert.helpAnchor = NSHelpManager.AnchorName(stringLiteral: "ArrivalTimesUsingStopID")
Run Code Online (Sandbox Code Playgroud)
运行代码确实会显示帮助按钮,Mac 帮助也会打开,但出现错误,指出找不到指定的内容。不知道为什么锚点不起作用,因为如果我转到帮助菜单并从那里打开它,我可以访问帮助手册。
此外,苹果公司的文件指出:
NSAlert、SFChooseIdentityPanel、SFCertificatePanel 类提供对话框的帮助按钮。要显示此类帮助按钮并将其链接到帮助书中的锚点,请在这些类中使用 setShowsHelp: 和 setHelpAnchor: 方法。
以及这些属性的文档NSAlert:
-setShowsHelp:YES 将帮助按钮添加到警报面板。当按下帮助按钮时,首先会咨询代表。如果委托未实现alertShowHelp:或返回NO,则使用nil book和-setHelpAnchor:指定的锚(如果有)调用-[NSHelpManager openHelpAnchor:inBook:]。如果委托返回 NO 并且没有设置帮助锚点,则会引发异常。
...所以我知道我正确使用了这两个。
我还了解到,每次更新 Apple 帮助手册 HTML 文档时都需要创建一个 .helpindex 文件。我正在使用“Help Indexer.app”,它位于developer.apple.com 上的其他Xcode 工具中。我确保:
<meta name="ROBOTS" content="ANCHORS">标头中,因此锚点会被索引。但即使完成了所有这些,我仍无法将 Apple 帮助手册打开到正确的锚点,甚至无法打开 Apple 帮助手册的标题页。
从头到尾多次,我无法找到解决方案或在线任何地方。 …
是的 - 所以我创建了一本帮助手册,做了所有正确的事情,仔细检查了我plist和index.html文件,而我得到的只是臭名昭着的
所选主题目前不可用.
尝试打开帮助手册时,控制台中唯一的条目是简单的
3/8/15 1:23:42.467 PM HelpViewer[35015]: Couldn't find book with this ID: (null)
Run Code Online (Sandbox Code Playgroud)
没太大帮助.
然后去哪儿?Apple Help
是否有任何调试技巧?
记录打开?什么..?
apple-help ×9
macos ×7
cocoa ×3
appkit ×2
objective-c ×2
help-viewer ×1
macos-sierra ×1
nsalert ×1
xcode ×1
xcode4 ×1