4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

appledoc導入の際のメモ

Last updated at Posted at 2015-03-19

インストール

githubからcloneしてXcodeでビルドしてもいいけど、アンインストールなどを考えると、Homebrewを使ったほうが簡単。

$ brew isntall appledoc

なお、ビルドする場合は、https://github.com/tomaz/appledoc からclone後、

$ sudo ./install-appledpoc.sh

を実行するのが楽。

使い方

基本的にはコマンドラインから実行

$ appledoc [option] ソースのパス

ただし、毎回引数を指定するのは面倒なのでAppledocSettings.plistファイルに設定を書いた方が楽。
プロジェクt内に、テンプレートとして、以下のようなAppledocSettings.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>--company-id</key>
  <string>com.gentlebytes</string>
  <key>--ignore</key>
  <array>
    <string>ThirdParty</string>
    <string>Libraries</string>
    <string>Frameworks</string>
    <string>Testing</string>
  </array>
  <key>--logformat</key>
  <integer>1</integer>
  <key>--print-settings</key>
  <true/>
  <key>--project-company</key>
  <string>Gentle Bytes</string>
  <key>--project-name</key>
  <string>appledoc</string>
  <key>--repeat-first-par</key>
  <false/>
  <key>--templates</key>
  <string>./Templates</string>
  <key>--verbose</key>
  <string>3</string>
</dict>
</plist>

基本的に、タグと、その後に続くやタグがコマンドライン上のパラメータに対応している。
例えば、

  <key>--company-id</key>
  <string>com.gentlebytes</string>

は、引数の --project-name com.gentlebytes に相当する。
AppledocSettings.plistファイルが引数のソースパス内にある場合は、その内容を参照して実行される
つまり、同じフォルダに置いておけば、以下のコマンドで実行される。

$ appledoc .

AppledocSettings.plistのタグ

要素を省略して、必須なものが指定されていない場合は正しく出力されない。例えばinputを省略するなど。

タグ 説明
--company-id 会社のUTI
--ignore appledocに解析させないファイルやフォルダのリスト。接頭語ではなく接尾語指定。
--logformat 文字通りログのformat。省略してもいい
--print-settings 実行時にオプションの設定値をコンソールに出力
--project-company 会社名
--project-name プロジェクト名
--repeat-first-par 先頭行を概要とみなして見出しに使うかどうか。falseだと使わない。
--templates HTMLのテンプレートファイルへのパス
--verbose ログレベルの指定。省略することが多い。
--input 解析対象のファイルのリスト。ignore同様複数指定可能。
--output 結果出力先のパス。存在しない場合自動で作る
--create-docset XCodeのHelpファイルを作成するかどうか
--install-docset 作成したXcodeのhelpファイルをシステムにインストールするかどうか
--create-html HTML形式のドキュメントを生成する。これがtrueでも--create-docsetがtrueだとHTMLができない。
--exit-threshold appledocの終了コード指定。jenkinsで使う時に、警告を無視するときなどに使う

AppledocSettings.plistのサンプル

ごく普通に、カレント直下のdocフォルダにHTMLのAPIドキュメントを作成する場合のサンプル

<?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>--project-name</key>
  <string>testApp</string>
  <key>--project-company</key>
  <string>my campany</string>
  <key>--company-id</key>
  <string>jp.co.hoge</string>
  <key>--output</key>
  <string>doc</string>
  <key>--input</key>
  <array>
    <string>testApp/*.m</string>
    <string>testApp/*.h</string>
  </array>
  <key>--repeat-first-par</key>
  <false/>
  <key>--verbose</key>
  <string>3</string>
  <key>--ignore</key>
  <array>
    <string>testAPP2Tests</string>
    <string>Frameworks</string>
    <string>Products</string>
  </array>
  <key>--exit-threshold</key>
  <integer>1</integer>
  <key>--create-html</key>
  <true/>
</dict>
</plist>

どんな記法が使えるの?

http://dev.classmethod.jp/smartphone/iphone/ios-appledoc-1/ が詳しいので、そちらを参照してください。

面白いポイントとしては、

  • ///は解析されるけど//は解析されない(ドキュメントに載らない)。
  • 関数ヘッダの一行目は、関数の概要としてクラスヘッダとは扱いが異なる(--repeat-first-parオプションの説明も参照)
  • 同じ記号(-とか*とか)を3つ繋げるとコメント内のセパレータとして扱われる

などがあります。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?