私はすべてを再確認し、誰かが私が見ていない愚かな間違いを見つけることができることを望んでいます。
アプリケーションのAppleヘルプセクションを作成しようとしていますが、ランディングページに正しく移動しますが、どのアンカーも機能しません。ディレクトリにあるランディングページが呼び出され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のドキュメントで指定されているようにディレクトリを作成しました
AppName.help/
Contents/
Info.plist
Resources/
shrd/
English.lproj/
index.html
search.helpindex
pgs/
test.html
2)Appleのドキュメントで指定されているようにHelpInfo.plistを作成しました。Info.plistに含まれています。に設定しCFBundleIdentifier
ましたcom.company.app_name.help
。
3)アプリのInfo.plistで、に設定し、CFBundleHelpBookFolder
にAppName.help
設定CFBundleHelpBookName
しますcom.company.app_name.help
4)次に、追加したフォルダの[フォルダ参照の作成]オプションを選択したことを確認しながら、Xcodeに組み込んだディレクトリをコピーしました。
5)次に、ヘルプインデクサーを使用してディレクトリにインデックスを付けましたAppName.help
。すべてのファイルのアンカー情報にインデックスを付けるオプションを選択していることを確認します。次に、.helpindexファイルを本来あるべきEnglish.lprojフォルダーにコピーしました。
それでおしまい。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ディレクトリのインデックスの再作成に加えて、変更を加えるたびにキャッシュをクリアします。
皆さんありがとう!