Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 我应该如何在雪豹帮助包中使用帮助:URL?_Cocoa_Osx Snow Leopard - Fatal编程技术网

Cocoa 我应该如何在雪豹帮助包中使用帮助:URL?

Cocoa 我应该如何在雪豹帮助包中使用帮助:URL?,cocoa,osx-snow-leopard,Cocoa,Osx Snow Leopard,我正在为我的申请写帮助书。根据需要,我在我的应用程序的info.plist中有CbundleHolpBookName和CbundleHolpBookFolder键,并且我正在使用新的雪豹.help包格式作为帮助书。repeacts.help/Contents/Info.plist中的各个键都是根据填充的。正如所料,当用户从“帮助”菜单中选择“彩排帮助”时,我的帮助手册的索引页(采用适当的本地化,目前仅为英语)将在“帮助查看器”中打开 但是,实际上(目前)捆绑包中有两个HTML文件,index.H

我正在为我的申请写帮助书。根据需要,我在我的应用程序的info.plist中有CbundleHolpBookName和CbundleHolpBookFolder键,并且我正在使用新的雪豹.help包格式作为帮助书。repeacts.help/Contents/Info.plist中的各个键都是根据填充的。正如所料,当用户从“帮助”菜单中选择“彩排帮助”时,我的帮助手册的索引页(采用适当的本地化,目前仅为英语)将在“帮助查看器”中打开

但是,实际上(目前)捆绑包中有两个HTML文件,index.HTML和support.HTML。我的理解是,如果我在一个文件中放置一个命名锚,如下所示:

<a name="support"></a>
<a href="help:anchor=support bookID=info.thaesofereode.Rehearsals.help">Support</a>

然而,这不起作用。也没有:

<a href="help:anchor=support">Support</a>

Help viewer会显示一张纸,上面写着“Help viewer无法打开此内容”。如果我在Help viewer和helpd中打开调试日志,我会看到:

10/03/2010 15:46:02 HelpViewer[2049]    decidePolicyForNavigationAction: help:anchor=support%20bookID=info.thaesofereode.Rehearsals.help
10/03/2010 15:46:02 HelpViewer[2049]    decidePolicyForNavigationAction: apple-help-content:help:anchor=support%2520bookID=info.thaesofereode.Rehearsals.help
10/03/2010 15:46:02 HelpViewer[2049]    willSendRequest: <NSMutableURLRequest apple-help-content:help:anchor=support%2520bookID=info.thaesofereode.Rehearsals.help>
10/03/2010 15:46:02 HelpViewer[2049]    Start loading apple-help-content:help:anchor=support%2520bookID=info.thaesofereode.Rehearsals.help
10/03/2010 15:46:02 HelpViewer[2049]    Starting search for query "support" with return port com.apple.helpd-26755
10/03/2010 15:46:02 helpd[2050] PID #2050 - received message #0: HPDStartMessageID
10/03/2010 15:46:02 helpd[2050] Process 2049 requested callback at com.apple.helpd-26755 and sent query: HPDQuery 289928762.026442: "support" in ("info.thaesofereode.Rehearsals.help") of types ("com.apple.HelpArticleResult") with limit 0
10/03/2010 15:46:02 helpd[2050] Run loops which have yet to start: (
    "com.apple.kbPlugin",
    "com.apple.helpbookPlugin"
)
10/03/2010 15:46:02 helpd[2050] Search for this query has been delayed 1 time: support
10/03/2010 15:46:02 helpd[2050] Delayed search for query: "support"
10/03/2010 15:46:02 helpd[2050] Starting help articles search for query: "support"
10/03/2010 15:46:02 helpd[2050] Query 289928762.026442 returned results: (
)
10/03/2010 15:46:02 helpd[2050] Response sent to port: com.apple.helpd-26755
10/03/2010 15:46:02 helpd[2050] Query finished: HPDQuery 289928762.026442: "support" in ("info.thaesofereode.Rehearsals.help") of types ("com.apple.HelpArticleResult") with limit 0
10/03/2010 15:46:02 helpd[2050] Response sent to port: com.apple.helpd-26755
10/03/2010 15:46:02 HelpViewer[2049]    <HVAnchorURLHandler: 0x1002bde50> finished query: HPDQuery 289928762.026442: "support" in ("info.thaesofereode.Rehearsals.help") of types ("com.apple.HelpArticleResult") with limit 0
10/03/2010 15:46:02 HelpViewer[2049]    <HVAnchorURLHandler: 0x1002bde50> has results: {
}
10/03/2010 15:46:02 HelpViewer[2049]    Found no results for support
10/03/2010 15:46:02 HelpViewer[2049]decidePolicyForNavigationAction:help:anchor=support%20bookID=info.thaesofereode.Preactions.help
2010年3月10日15:46:02 HelpViewer[2049]DecidepolicyFornavigation操作:苹果帮助内容:帮助:锚=支持%2520bookID=info.thaesofereode.preactions.help
2010年3月10日15:46:02 HelpViewer[2049]将发送请求:
2010年3月10日15:46:02 HelpViewer[2049]开始加载apple帮助内容:帮助:anchor=support%2520bookID=info.thaesofereode.preactions.help
2010年3月10日15:46:02 HelpViewer[2049]开始使用返回端口com.apple.helpd-26755搜索查询“支持”
2010年3月10日15:46:02帮助[2050]PID#2050-收到消息#0:HPDStartMessageID
2010年3月10日15:46:02 helpd[2050]处理2049请求的回拨,地址为com.apple.helpd-26755,并发送了以下类型(“com.apple.helparticlesult”)的查询:HPDQuery 289928762.026442:“support”,限制为0
2010年3月10日15:46:02帮助[2050]运行尚未启动的循环:(
“com.apple.kbPlugin”,
“com.apple.helpbookPlugin”
)
2010年3月10日15:46:02帮助[2050]此查询的搜索已延迟1次:支持
2010年3月10日15:46:02帮助[2050]查询延迟搜索:“支持”
2010年3月10日15:46:02帮助[2050]开始帮助文章搜索查询:“支持”
2010年3月10日15:46:02帮助[2050]查询289928762.026442返回结果:(
)
2010年3月10日15:46:02 helpd[2050]响应发送至端口:com.apple.helpd-26755
2010年3月10日15:46:02 helpd[2050]查询已完成:HPDQuery 289928762.026442:“支持”在(“info.thaesofereode.precables.help”)中,类型为(“com.apple.helparticlesresult”),限制为0
2010年3月10日15:46:02 helpd[2050]响应发送至端口:com.apple.helpd-26755
2010年3月10日15:46:02 HelpViewer[2049]已完成查询:HPDQuery 289928762.026442:“支持”在(“info.thaesofereode.prepects.help”)中,类型为(“com.apple.helparticlesresult”),限制为0
2010年3月10日15:46:02 HelpViewer[2049]显示了以下结果:{
}
2010年3月10日15:46:02 HelpViewer[2049]未找到支持结果

如何在雪豹帮助包中正确使用帮助:URL?(不用说,我知道使用相对文件URL的解决方法,这是可行的,但我想让帮助锚在应用程序中用于上下文帮助和链接。)

您是否使用帮助索引器实用程序首选项中选择的锚索引为帮助手册编制索引? 似乎锚不是索引


当然,我也会检查我的锚的名字,但是我在做了或说了10分钟后就忘记了这些东西…

结果证明这些锚和URL是正确的,helpd会自动索引内容,但它保持了一个积极的缓存。如果帮助手册更新时没有碰撞版本号,则不会扫描新的锚定

rm -rf ~/Library/Caches/com.apple.help*
killall helpd

谢谢@drk。helpd应该在snowleopard中自动为帮助书籍编制索引,但我继续进行,并启用了锚定索引对其进行索引。没有区别。我相信锚定匹配:-)谢谢!我花了好几个小时弄清楚为什么我们的锚不起作用——杀死缓存就是诀窍。