ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Swift-DocCの最新情報
Swift-DocCの最新情報はすばらしいものとなっています。独自のプロジェクトのドキュメントに書き込んだり共有したりする方法を紹介しますので、是非ご覧ください。さらに、Swift-DocCナビゲーションの改善点をはじめ、AppターゲットやObjective-Cコードのドキュメントをコンパイルする方法についても解説します。また、GitHub Pagesなどのホスティングサービスにコンテンツを直接公開する方法も紹介します。
リソース
- DocC
- Documenting apps, frameworks, and packages
- SlothCreator: Building DocC Documentation in Xcode
- SwiftDocCPlugin
関連ビデオ
WWDC23
-
ダウンロード
♪ 落ち着いた雰囲気のヒップホップ音楽 ♪ ♪ こんにちはFranklinです Swift-DocCチームのエンジニアです 同僚のEthanと一緒に Xcode 14のSwift-DocCをご紹介します よりすぐれたドキュメントの構築に 役立つツールが満載されています 去年ご紹介したXcode 13のSwift-DocCでは Swiftフレームワークで デベロッパを案内できます Swift-DocCでは 個別のAPIの参照ドキュメントから これらのAPIを一緒に使用することで 概念的な記事を書くこと さらにユーザーがタスクを完了するための チュートリアルなどを書くことができます 今年のXcode 14では Swift-DocCは 新しいワークフローを提供します フレームワークのドキュメント化に加え Appプロジェクトのサポートも追加され チームと協力しやすくなります Objective-CとC APIをSwift-DocCで ドキュメントを構築し プロジェクトのAPIをまとめて 説明できるようになります ウェブサイトへのコンテンツの投稿は GitHubページなどの静的ホスト環境の 即座に利用できるサポートで 劇的に容易になりました また新しい強力なナビゲーションサイドバーで デベロッパはこれまで以上に 容易にコンテンツを 発見できます また Swift-DocCはオープンソース プロジェクトとなり これらの新しい機能はオープンソース コミュニティで密接に協力して開発されます このセッションではSwift-DocCと 新しいワークフローをご紹介します まずはプロジェクトのAPIを ソースコードに沿って ドキュメント化する方法を説明します 次にコンテンツをシームレスにウェブサイトに 掲載する方法 そして最後に ウェブ上の 新しいナビゲーション サイドバーをご紹介します ではドキュメントの構築方法から始めましょう ソフトウェアプロジェクトには 優れたドキュメントは不可欠です プロジェクトが進化すると共に デベロッパが貢献する際に 確実な基準点があるよう 機能性と設計を説明することは 重要です XcodeのSwift-DocCはコード開発に使用するのと 同じツールを使いすばらしいドキュメントを 構築するためのツールを提供します 今年すばらしいことにSwift-DocCが Appプロジェクトに拡大されました では詳しく見てみましょう 私がチームと取り組んでいる Appとドキュメントは 「Slothy」と言い SwiftとObjective-Cソース ファイルが含まれています まったく新しいプロジェクトで まだドキュメントを構築していなくても 「Product」メニューを開き 「Build Documentation」を選択します Xcodeはドキュメントウィンドウを開き Swift-DocCが API用に自動的に生成する スタブが表示されます これはすばらしい開始点となり 寄稿者がプロジェクトを 移動するのに役立ちます では手順を踏んでこのコンテンツを appへの貢献のための完全な ガイドを構築しましょう 各APIがそれぞれどのような動作をするかを 教えることから始めドキュメントカタログで 高レベルコンテンツを提供します 「SlothView」というビューの説明から始めます このドキュメントがSwift-DocCで 可視化されるよう 3本の「/」の後にコメントを入力します 次にビューを簡潔に要約します ドキュメントビルドページでは このテキストが 目立つようにビュー名の真下に表示されます 次に追加のパラグラフを使い 詳細を入力します このコンテンツはページの概要に表示されます Swift-DocCのリンク構文でAPIの参照を アクティブリンクに変えることで すばやくPageに移動して詳細を確認できます DocC はこれらのリンクが構築された時に検証し 古くなった場合は警告を発生します そしてこのビューの使用方法の例を 提供したい場合は Markdownコードブロック構文で コードリストを追加します これで寄稿者は すぐにこのビューの使い方を 知ることができます わずかなステップで私のビュードキュメントは このプロジェクトの寄稿者に より便利になりました 次は 初期化子を文書化します ここでも要約から始めます 初期化子とメソッドでは 各パラメータを個別に 説明するのがいいでしょう そうするには パラメータが 何かという短い説明で パラメータリスト項目を追加します コンテンツが別々のパラメータセクションで 表示されているのがわかりますか? 次はこのプロジェクトで定義されている Objective-C APIを見てみましょう Xcode 14で新しく登場する ドキュメントObjective-Cコード向け Swift-DocCの包括的なツールです 皆さんが使い慣れているMarkdown構文を使い Xcodeのソースエディタの更新されたサポートで プロジェクトのすべてのAPIを一緒に まとめて説明できるようになりました SwiftとObjective-Cから呼び出せるコードでは すてきな言語トグルを使い コードを構築している 言語でページを検索できます 詳細については以下のリンクから デベロッパドキュメントに アクセスしてください ではこれを「Slothy」 プロジェクトに適用します SLOSoundクラスとその初期化子を説明します このクラスはSwiftとObjective-Cコードの 両方から使えることにお気づきでしょうか Xcodeが提供する言語トグルでは 使用している言語でコンテンツを検索できます ではSwiftコードに使用する同じMarkdown構文で クラスと初期化子を説明します かなり良くなりました 要約と概要を加え 初期化子にはパラメータセクションを追加 個別のAPIの説明は以上です ソースコードにコメントを少し入力することで 私のプロジェクトの寄稿者は APIの使い方を理解しやすくなりました 次はこのApp向けのトップレベルの ページの構築です これは寄稿者に最初に表示されるページです ですのでAppの内容と寄稿の方法を うまく紹介したいと思います トップレベルページをカスタマイズするには ドキュメントカタログを追加します ソースフォルダを右クリックし 「New File」を選択します 次に「Document Catalog」を選択します ドキュメントカタログは ソースコードドキュメントを補完し 追加のMarkdownファイルと メディアを保有しています Xcodeは Appのトップレベルページを 自動的に追加します Appの内容の概要を入力しましょう ソースコードのドキュメントのコメントで 使用したのと同じ構文を使い要約 概要 画像などのリッチコンテンツを追加 これでより魅力的になりました これで寄稿者はすぐにAppの内容を把握できます それだけです Appのドキュメントがかなり改善され プロジェクトの寄稿者に すばらしい基準点を提供できました トップレベルページを検索して プロジェクトの概要を確認し 各ページにジャンプして 各APIの詳細を見れるようになりました ドキュメントの書き方と 構築方法を見たところで 寄稿者に検索しやすくなるように 今度はウェブサイトに公開しましょう Ethan お願いします Franklin ありがとう 私たちは「Slothy」AppをSlothCreatorという 一般的に便利なSwiftパッケージを使い モジュラー式に構築してきました ナマケモノ関係のAppを 開発する他のデベロッパに 役に立つようSlothCreatorを 公開することがいいアイデアだと思います その取り組みの一環として ドキュメントをウェブで共有するために Swift-DocCの真新しい簡素化された 公開ワークフローを説明します Xcodeでドキュメントを構築した場合 Swift-DocCはドキュメントを含んだ 静的バンドルを生成します このバンドルは DocCアーカイブと呼ばれ ドキュメント用の簡易コンテナです ドキュメントウィンドウから 直接ダウンロードして 同僚に送ることができます アーカイブをダブルクリックするだけで ドキュメントを開き検索できますが DocC アーカイブはXcodeでドキュメントを 開くだけの簡易コンテナではありません フル機能を備えたウェブサイトも 含まれています 新しいXcode 14ではDocCアーカイブは ほとんどのウェブサーバに直接対応します これにより ウェブ上でのドキュメントの公開が これまで以上に容易になりました ほとんどの場合構築されたDocCアーカイブの コンテンツをウェブサーバの ルートにコピーするだけで ドキュメントをデプロイできます またこれはDocCアーカイブが GitHubページを含むほとんどのマネージド ホスティングサービスに対応します GitHubページは多くのデベロッパが GitHub.comに統合された自身のドキュメントを ホストしている人気の方法です SlothCreatorのソースコントロールに GitHubを使用してきたので ドキュメントの公開もGetHubを利用することが 理にかなっています GitHubページをよくご存じなら 標準のサーバーとは違い ウェブサイトはURLのルートパスではなく 特定のベースパスで配信されます こういう種類のホスティングでは 対応のDocCアーカイブを生成するためには 追加のビルド設定でウェブサイトの ベースパスを指定する必要があります この仕組みを完全に把握し GetHubページなど特定のホスティング シナリオのみでこの構成が 必要なのかを理解するために DocCアーカイブのURLが独自のドメインで ホストされた場合どうなるかお見せしましょう 「Slothy」Appのサイトが すでにあることにします slothy.example.com SlothCreatorのドキュメントを既存の ウェブサイトの一部として公開しようと思います SlothCreator DocCアーカイブのコンテンツを ウェブサーバーのルートに ただコピーしたとすると SlothCreatorの参照 ドキュメントは次に表示されます slothy.example.com/ documentation/slothcreator SlothCreatorパッケージのチュートリアルは 「tutorials」パスに配置されます しかしこの場合自己のドメインに 公開するのではなく 代わりにドキュメントをGitHubリポジトリで 保存するために GitHub Pagesが提供するドメインで公開します リポジトリ向けにGitHub ページサイトを構築すると そのウェブサイトのURLはルートパスではなく リポジトリの名前に一致する ベースパスに配置されます 一般的にusername.github.io /リポジトリ名となります 参照やチュートリアルドキュメントパスは そのベースパスに追加されます このベースパスはリポジトリに一意なので GitHubページへの公開用にDocCアーカイブを 構築する前にSwift-DocCに 内容を説明する必要があります Xcode 14では このユースケースのためだけに 新しいビルド設定が構築されました DocC Archive Hosting Base Pathの ベースパス設定がGitHubリポジトリの 名前になるように構成したら 今後のすべてのドキュメント構築の 準備ができました これを実践してみましょう SlothCreator Swiftパッケージを開きました Franklinが先ほどSlothy Appの 依存関係としてお見せしましたね このパッケージを広範囲な使用のために 公開する間近なのでGitHubページ向けに 準備したドキュメントを公開します フレームワークの「project settings」を開き マウスをXcodeのプロジェクト ナビゲータに移動し SlothCreatorアイテムを選択します SlothCreator目標を選択し 「Build Settings」タブを開きます この場合 Swift-DocC関連の設定を探しています なのでDocCで絞り込みます 次にDocC Archive Hosting Base Path設定で リポジトリの名前をsloth-creatorにします すばらしい 次はドキュメントの構築です マウスを「Product」メニューに移動させ 「Build documentation」を選択します Xcodeがプロジェクトをコンパイルし ドキュメントを生成したら ドキュメントウィンドウが開きます これはドキュメントのトップページです これをエクスポートします マウスをドキュメントナビゲータに移動し 「SlothCreator」の 技術の項目いカーソルを当て 「Context」メニュー 「Export」をクリック リポジトリのルートにある「docs」という ディレクトリにエクスポートします なぜならドキュメントのウェブサイトを 公開するためにこのように GitHubを構成したからです
次は変更を GitHubにプッシュします Xcodeのメインウィンドウに戻り 「Source Control」メニューで 「Commit(合意)」をクリックします 私のドキュメントのコンテンツを保有する Docsディレクトリを選択し 合意メッセージを書きます この変更をプッシュしたら
完了です 公開されたサイトを見てみましょう GitHub.comでリポジトリを開きます
READMEでドキュメントサイトの リンクを掲載しているので それをクリックしると 到着しました SlothCreatorのために 取り組んだドキュメントが ウェブで簡単にアクセスでき満足しています これはSlothCreatorを自分のプロジェクトで 使用したいと考える方に 非常に便利になるでしょう SlothCreatorのドキュメントを 一度デプロイしたので リポジトリのドキュメントが変更するたびに デプロイメントが 自動的に行われることを望んでいます SlothCreatorをSwift パッケージとしてリリースするので 新しいSwift-DocC Swift Package Managerプラグインが とても役に立つでしょう Swift-DocCプラグインを使用すると Swiftパッケージ用のドキュメントの構築を かなり簡素化することができます プラグインのドキュメントは 下にリンクされています 是非ご覧ください GitHubページや その他の ホスティングサービスで ドキュメントのデプロイメントを 自動化するのに最適な開始点となります もちろん Swift-DocCはXcode 13で発表された xcodebuild docbuildコマンドライン インターフェースでXcodeプロジェクト向けの コマンドラインサポートを引き続き提供します xcodebuildを使用してGitHubページへの デプロイメントを自動化する 方法は下にリンクされています 新しく向上されたウェブ用Swift-DocC向けの 検索とナビゲーション体験が今年発表されます 新しいナビゲーションサイドバーが SlothCreatorドキュメントの 閲覧者にいかに便利か フレームワークの特長を見てみましょう SlothCreatorのGitHubページに戻り ページの左側を見ると 新しいナビゲーションサイドバーがあります CareScheduleの項目にマウスを移動し 三角ボタンをクリックしてメニューを拡大します するとページを完全に開かなくても ページがCareScheduleの子として 整理されているのがわかります この場合型の初期化子に そのまま移動することにします フレームワークを通じて移動し FoodGeneratorやSlothFood項目を拡大し 最終的に「枝」ページを開きます ページ間を移動する間 サイドバーの状態はそのままで すでにアクセスしたページを追跡できます フレームワークを自然に探索できるところに とても感謝します でもこのフレームワークにすでに精通していて 特定のシンボルを探している場合は? サイドバーの下にあるフィルターフィールドが これに最適です ナマケモノのエネルギーレベルを 上げるAPIを探しているとします マウスをナビゲータの下に移動し フィルタバーを選択し 「エネルギー」と入力します 完璧です energyLevelプロパティのドキュメントが 私が探していたものです Xcode 14のSwift-DocCが提供する 新しい検索体験は 皆さんのドキュメントサイトを 次のレベルに引き上げます 是非お試しください XcodeのSwift-DocCの統合はすべての プロジェクトの文書化を サポートするようになり プロジェクトがXcodeでもSwiftパッケージでも Objective-Cと Appと フレームワーク目標のSwiftコードが含まれます Xcode 14によるDocC アーカイブは GitHubページを含む人気のホスティング サービスに即座に対応します より広範囲のオーディエンスに ドキュメントを提供するには 革命的なツールです 最後にSwift-DocCはウェブで強固な 新しいナビゲーション体験を提供します ナビゲーションサイドバーはサイトでの ドキュメントの探索と検索に 新しい方法を提供します 新しいSwift-DocCサイドバーについてや 最高のドキュメントを作成して 新しい機能を活用する方法については 『Swift-DocCコンテンツを見つけやすくする』 をご覧ください ドキュメントの詳細については 『DocCを使ったインタラクティブな チュートリアルの制作』 でAppやフレームワークを通じて デベロッパを案内する方法をご覧ください 皆さんがXcode 14で書き 公開する ドキュメントを見るのが楽しみです ご清聴ありがとうございました ♪
-
-
3:21 - Documenting the SlothView struct
/// A view that displays a sloth. /// /// This is the main view of ``SlothyApp``. /// Create a sloth view by providing a binding to a sloth. /// /// ```swift /// @State private var sloth: Sloth /// /// var body: some View { /// SlothView(sloth: $sloth) /// } /// ``` struct SlothView: View { // ... }
-
4:25 - Documenting an initializer
struct SlothView: View { /// Creates a view that displays the specified sloth. /// /// - Parameter sloth: The sloth the user will edit. init(sloth: Binding<Sloth>) { // ... } }
-
5:24 - Documenting the SLOSound Objective-C class
/// A sound that can be played. /// /// Use an instance of this type to play a sound /// to the user in response to an action or /// event. @interface SLOSound : NSObject /// Creates a sound given its name and path on /// disk. /// /// - Parameters: /// - name: The name of the sound. /// - filePath: The path to the sound file on disk. - (id)initWithName:(NSString *)name filePath:(NSString *)filePath; @end
-
6:48 - Documenting the top-level page for the Slothy app
# ``Slothy`` An app to create and care for custom sloths. ## Overview Slothy is an iOS app that allows users to create and care for virtual sloths. ![An illustration displaying the UI for finding, creating, and taking care of a sloth in Slothy.](slothy.png) The Slothy app project contains views to present Slothy's user interface, and utilities to play sounds as the user interacts with the app.
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。