gpt4 book ai didi

cocoa - 帮助手册中的 anchor 不起作用

转载 作者:行者123 更新时间:2023-12-03 16:07:36 26 4
gpt4 key购买 nike

我已经仔细检查了所有内容,希望有人能发现我没有看到的愚蠢错误。

我正在尝试为我的应用程序构建一个 Apple 帮助部分,它正确地转到了登录页面,但是没有一个 anchor 起作用。登陆页面称为 index.html,另一个页面称为 test.html,位于 pgs 目录中。

在index.html中我有:

<a href="help:anchor=support bookID=com.company.app_name.help">Link to another page</a>

在 test.html 中我有:

<a name="support"></a>

以下是我为了到达现在的位置而遵循的步骤:

1) 我按照 Apple documentation 指定的方式构建了目录

AppName.help/
Contents/
Info.plist
Resources/
shrd/
English.lproj/
index.html
search.helpindex
pgs/
test.html

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 中的目录,同时确保选择了为任何添加的文件夹创建文件夹引用选项。

5) 然后我使用Help Indexer来索引目录AppName.help。确保我选择了在所有文件中索引 anchor 信息选项。然后,我将 .helpindex 文件复制到了它应该位于的English.lproj文件夹中。 p>

就是这样。我注意到关于我的应用程序的一些事情,如果我将以下链接放入 index.html 文件中,它就能正常工作。

<a href="pgs/test.html">Click this link</a>                 

这也是我的 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>
<title>AppName Help</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<meta name="AppleTitle" content="AppName Help" />
<meta name="AppleIcon" content="../shrd/icon.png" />
</head>
<body>
<a href="help:anchor=support bookID=com.company.app_name.help">Link to another page</a>
</body>

这是test.html 的代码。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!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>
<title>Testing Links</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="anchors" />
</head>
<body>
<a name="support"></a>Does linking work?<br/>

</body>
</html>

这是我的帮助文件的 Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en_us</string>
<key>CFBundleIdentifier</key>
<string>com.company.app_name.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>2</string>
<key>CFBundleSignature</key>
<string>hbwr</string>
<key>CFBundleVersion</key>
<string>2</string>
<key>CFBundleHelpBookName</key>
<string>AppName Help</string>
<key>HPDBookAccessPath</key>
<string>index.html</string>
<key>HPDBookIconPath</key>
<string>shrd/icon.png</string>
<key>HPDBookIndexPath</key>
<string>search.helpindex</string>
<key>HPDBookKBProduct</key>
<string>app_name1</string>
<key>HPDBookKBURL</key>
<string>http://www.company.com</string>
<key>HPDBookRemoteURL</key>
<string>http://www.company.com</string>
<key>HPDBookTitle</key>
<string>AppName Help</string>
<key>HPDBookType</key>
<string>3</string>
</dict>
</plist>

我还关注了这篇文章:http://www.cocoabuilder.com/archive/cocoa/312037-updating-an-app-help.html除了重新索引目录之外,每次进行更改时都会清除缓存。

谢谢大家!

最佳答案

当然大卫,谢谢提醒。

根据我的内存和我的草率文档,我运行以下命令来索引帮助文档文件:

hiutil -vCaf ./search.helpindex English.lproj

但是我意识到的一件事是,只要使用   字符,索引实用程序就会发出错误消息。而是替换字符

我认为这就是我的案例中的错误。

关于cocoa - 帮助手册中的 anchor 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com