ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Platforms State of the Union (ASL)
Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.
関連する章
- 0:00:00 - Introduction
- 0:04:03 - Swift, SwiftUI, SwiftData
- 0:19:22 - WidgetKit, App Intents, TipKit, AirDrop
- 0:27:03 - Gaming, Camera, Video conferencing, watchOS
- 0:39:41 - Accessibility, Privacy, App Store
- 0:52:21 - Xcode
- 1:00:30 - visionOS
- 1:28:06 - Conclusion
リソース
-
ダウンロード
♪ ♪
♪ ♪
Platforms State of the Union 2023へ ようこそ 新たなリリースをどのように 活用できるかについて 更に共有します システム全体を通して アプリを 表示する方法をより多く提供する― iOSとiPadOSの インタラクティブウィジェットや macOSの新たなウィジェット体験や watchOS 10の美しいデザインや tvOSの連係カメラや visionOSの 全く新しいプラットフォームなどです Platforms State of the Unionは 今年のリリースのうち 最もすばらしく 影響力のある 重要な開発を学べるよい機会です これらの全てを届けます 詳しく説明する前に 優れたプラットフォームとアプリについて 少し話しましょう 優れたプラットフォームはフレームワークや テクノロジーの集合を超えたものです 本当に特別なものを作るための 重要な要素の集まりなのです 言語やフレームワークや ツールやサービスが シームレスに連係するように作られた 組み合わせなので コードを書くのに 最も自然な方法というのが最適でもあります 豊富なAPIは アプリが オープンか否かにかかわらず システムに深く組み込まれた すばらしい体験を作るのに役立ちます よく考えられた数々の方法は 幅広い製品の全てで― 最先端のハードウェア技術を 安全に活用するためのものです 最後に 優れたプラットフォームは 新たな課題に対応するために進化するので 必要な時にユーザーのニーズに 正しく応えることができます 私たちのプラットフォームの 300以上のフレームワークがブロックを構築し アプリを革新的でクリエイティブで 独自のものにすることを可能にします 時間の節約や機能の追加に役立つに 留まりません これらのプラットフォーム基盤を 目的を持って使用する時 アプリはシステムに美しくフィットし そしてシステム自体を拡張します これが優れたアプリへの道すじです 優れたアプリは適切な情報を 適切な時に 適切な場所でユーザーに届けます ロック画面上の共有シートや Spotlightや Siriや そのほか無数の場所です 優れたアプリは 新しいセンサーやパワフルな チップなどのハードウェアを活用しますが それらの機能を簡単に使える フレームワークの助けがあってこそです 優れたアプリは 正しく行うことが 非常に重要なことを実行します ユーザーのプライバシーを尊重する 安全でアクセシブルな製品を作るなどです 私たちのプラットフォームと 皆さんのアプリは一体となり― 人々が価値を置き 期待する一貫性や 信頼性と共に これら全てを提供します これは すばらしいことです 私たちは優れたプラットフォームとアプリに 非常に情熱的です 生み出す違いを ユーザーは認識するでしょう iOSやiPadOSやmacOSやtvOSや watchOSやvisionOSで共有された基盤が 統合的なエコシステムを形成するので 皆さんは 全てのAppleのプラットフォームと 製品にアプリを提供できます 皆さんのアプリは このエコシステムの要です 1つのデバイスから別のデバイスへ シームレスに動く使いやすい体験によって 日常生活に力を与えます
Appleでは 私たち自身が使いたいものを 作ろうという話をよくしています それは 私たちのプラットフォームへの アプローチと同じです 私たちもデベロッパだからです Appleでは 同じ言語やツールや フレームワークを使用しています 今日 取り上げることが たくさんあります まずは SwiftやSwiftUIの 最新の進化から始め 私たちの全てのプラットフォームで すばらしい体験を作るために― どのように利用できるかについて 説明します ハードウェア機能の活用方法と 皆さんが作り上げた体験の価値を どのように優先付けるかについて話します そして 私たちが毎日使う― パワフルなツールの進化についても 見ていきます 最後に 最新のプラットフォームである― visionOSのテクノロジーについて 詳しく説明し Apple Vision Proのための次世代アプリを どのように開発するかを見せます まず始めに Swiftの新機能について Hollyに話してもらいます
皆さんが日々使っている 数多くのAPIの基盤はSwiftです 高速でモダンで安全なSwiftは 効率的で 表現豊かで 正確なコードへ導きます APIによりライブラリや プラットフォームの機能を活用でき アプリにユニークな体験を 作ることが可能になります しかし 使うのが難しく 始めに大量のボイラープレートを 書く必要があるAPIもあります そのため Swiftはマクロの導入により 使いやすく より正確な― 新しい種類のAPIを提供します これらのマクロは Swiftの流儀で動作します マクロとは コードの構造を利用して― プロジェクトで構築される新しいコードを 生成する アノテーションのことです マクロは コードに属性として アタッチすることも ハッシュマークで記述して 独立させることもできます マクロはAPIを 言語の一部のようにし アノテーションだけで新しいAPIを 使い始める方法を数多く提供します 生成されたコードが プロジェクトの 一部であるかのように感じるXcodeで マクロは活躍します 見せましょう 有効なURL文字列を確認する URLマクロを作りました マクロは通常のSwiftコードを 生成するので それらが何をするか正確に見るために Xcodeで 「Expand Macro」機能を使うことができます このマクロはとてもシンプルに見えます URLイニシャライザを呼び出し 結果を強制アンラップします しかし URLマクロは それ以上のことを行います 文字列が有効なURLか コンパイル時に確認するのです 例えば URLにスペースを 入れてはいけないので スペースを1つ追加すると マクロはカスタムエラーメッセージを表示し 文字列からスペースを 自動で取り除く形で修正します アプリの動作時にエラーになりうる箇所を コードを書いている間に フィードバックに追加するので すぐに間違いを直すことができます 全てのマクロは 正しいコードが書けるように カスタムフィードバックを提供できます アタッチされたマクロは 既に書いた コードにも新しい機能性を加えられます アタッチされたマクロに何ができるのか 見てみましょう 非同期ワークを行い完了ハンドラを使う fetchContentという関数がありますが async/awaitを使いたいと思います 別のfetchContent関数を 実装する代わりに AddAsyncマクロをアタッチできます これだけです 完了ハンドラをパスする代わりに fetchContentを呼び出して 結果を待つだけです ほかのAPIと同様― マクロ上でクイックヘルプを使い ドキュメンテーションを見ることができます しかし もしこの内部がどう動作するか 理解したい場合は ブレークポイントを設定し コードを実行し async機能にステップインします すると Xcodeはソースエディタ内に 直接マクロを展開します
どこにも秘密がないのは すばらしいことです デバッグ中 展開されたマクロに ステップインすることは― 舞台裏で何が起きているのかを見る 自然な方法であり 自分のコードで何が起きているのか 理解できるようにします 自分自身のマクロを 書くことができるので 以前はSwiftコンパイラで機能を 実装することでしか行えなかったやり方で 言語を拡張できます Swiftはオープンソースで 開発されているので デベロッパは最も一般的に 要求される言語機能を構築するために マクロを既に使っています アサーションの失敗についての 豊富な記述の自動生成や カスタマイズできるデフォルトプロトコルの コンフォーマンスの提供など そのリストは増え続けています 今年の多くの新しいAPIでも マクロが使われています コミュニティによって書かれたマクロを 利用することも 皆さん自身のマクロをSwiftパッケージを 通して共有することもできます
マクロのような言語進化により Swiftではかつてないほど多くの プロジェクトを採用できるようになります Swiftで書かれていないコードについて 説明しましょう Swiftは登場した時から C言語や Objective-C言語との 双方向の相互運用性を提供してきました コードベース全体を書き直すことなく 一度に1つのファイル もしくはモジュールで Swiftをプロジェクトに 追加できます Swiftは C++にまで 相互運用性を拡張しています Swiftと C++との相互運用性により intermediate bridgingレイヤーを使わずに― 同じプロジェクト内で 両方の言語を使えるようになります コンパイラフラグを設定することで クラスや関数や― vectorのようなテンプレートの特殊化さえも 両方の言語で共有できます Swiftから C++を使うことで コード内の 未定義動作の多くのソースを取り除くでしょう 初期化される前に 変数を使ってしまうなどのことです そして bridgeは効率的です 呼び出しはSwiftと C++コード間で ネイティブに行われ オーバーヘッドは最小限です SwiftC++の相互運用性は オープンソースで既に使われていて Swiftコンパイラ自体を C++からSwiftへ 移行するのに役立っています ですから Swiftを実装するために Swiftを使うことが楽しみです 安全で表現豊かなコードという Swiftの基本的な目標は Swiftで構築された ライブラリに浸透しています そして SwiftUIより明確なものは どこにもありません Joshに詳しく説明してもらいましょう SwiftUIはAppleの全プラットフォームで モダンなユーザーインターフェイスを 作るのに最良の方法です SwiftUIでは より少ないコードで より優れたアプリを書けるので 皆さんはアプリをユニークにすることに 集中できます インターフェイスコードの再利用も 最大限可能になります Crunchy Bagelの健康習慣アプリ 「Streaks」が よい例です 彼らは まずSwiftUIを使って iOS用のウィジェットを作りました そして そのコードを watchOSのアプリと共有し 美しいアニメーションで拡張させました そして 同じコードを元の iOSアプリに組み込みました 段階的に採用することで 彼らのペースでUIコードを共有でき 既存のアプリでSwiftUIの利点を 実感できました SwiftUIは非常に有能でもあり 新しいiPadのためのLogic Proや Final Cut Proなどのアプリの― 洗練されたインターフェイスを実現しています SwiftUIを皆さんのアプリに採用することで 次世代のユーザーインターフェイスを 作れるようになります SwiftUIで作れるものは拡大し続けています 従来通り 今年のリリースに含まれる新機能は デベロッパからのリクエストが多く 影響が大きい分野に注力しています 円グラフとSwift Charts内での選択への 新しい対応や 全く新しいインスペクタAPIや オーバーレイやLook Aroundなどの MapKitのサポートの拡大などです これらの改良は 幅広い分野の機能を対象としていますが 多くはアニメーションの改良に 注力しています デザイン性に優れたアニメーションは インターフェイスを使いやすくするので 重要な分野です フィードバックを提供できるので 皆さんのユーザーは 何かが起きていることを把握できます または タスクが無事に完了したことを 確認できます そのために SwiftUIには アニメーションの逆再生や 割り込みやキャンセリングなどの 先進的な機能が初めから含まれているのです 今年 SwiftUIは アニメーションを更に進化させます まずは 動き方から始めます アニメーションは多くの場合 ユーザーのジェスチャーで発動します ですので SwiftUIがジェスチャーの速度を アニメーションに自動的に転送し スムーズなトランジションを 提供できるようになります 今回 アニメーションは スプリングベースのモーションが デフォルトとなりdurationとbounceという― たった2つの シンプルなパラメータで構成できます SwiftUIは更にSF Symbolの 新しいアニメーションのエフェクトを活用して 皆さんのアプリのアイコンを 生き生きとさせます 最後に 複数パートの アニメーションを作る必要がある時― SwiftUIのAnimationPhaseという新しいAPIが たった数行のコードで洗練された アニメーションを作るのに役立ちます AnimationPhaseのような 新しいAPIを見せるために― Apple Parkの美しい風景に着想を得た サンプル用アプリを作りました ユーザーが屋外の空間を作成し 訪れる鳥たちに食事や飲み物を提供することで 心を落ち着かせる体験を届けます 新しい鳥を見逃さないために― リストのトップにリマインダーを追加しました このビューだけにフォーカスした プレビューに切り替えてみましょう アニメーションを追加して このSF Symbolを目立たせたいと思います まずは enumを追加してカスタム アニメーションの様々な状態を定義します 次に "PhaseAnimator"でビューを囲みます これが 一連の状態の間に自動的に アニメーションで動く新しいビューです そして最後に ".highlighted" AnimationPhaseで アイコンを拡大縮小して回転させます いい感じです しかし アイコンと一緒に― 背景もアニメーションで動くと 更によくなると思うので 幾つか修飾子を追加します
更に高度なアニメーションのために― 今年 SwiftUIはキーフレームを 完全にサポートするようになりました このパワフルなAPIは 何でもアニメーション化できます 新しいSwiftUIベースの MapKit APIのプロパティも含めてです キーフレームによって アニメーション内の特定のタイムで 複数のプロパティの値を定義でき SwiftUIが中間値を補間します ここでは キーフレームを使って クパティーノの様々なランドマークを 訪れるマップカメラを アニメーション化しました キーフレームによって様々なプロパティで モーションを定義できるので カメラのピッチと方角と位置を 独立してアニメーション化して このように クパティーノからApple Parkまでの スムーズで連続したモーションを 実現できます SwiftUIのアニメーションを使った アプリの雰囲気づくりが かつてないほど簡単になりました 次は データフローについて話します SwiftUIでアプリを作る時 ビューにデータを表示させるための 選択肢が幾つかあります SwiftUIはビューにローカルなデータを管理し 他所にあるデータを参照するための プロパティラッパーのセットを提供します 今年は データフローが更に簡単になり StateとEnvironmentだけに 集中できるようにします SwiftUIにモデルを公開する際 ObservableObjectに準拠し 各プロパティに公開プロパティラッパーを 追加するといったコードを 書いたことがあるでしょう Swiftの新しいマクロのサポートは 新たなObservableマクロによって これをよりシンプルにします クラスに@Observableと注釈を 加えるだけで完了です 全ての公開されているプロパティは 自動的に公開されます SwiftUIビューで Observableを使用している時は プロパティラッパーを使った ビューのアップデートは不要となります 直接 変数を参照するだけです 書くコードは減り 早くて正確な動作がデフォルトで得られます ObservableでSwiftUIは― フィールドごとのレベルで アクセスを確認できるので ビューのボディは特定のプロパティが ビューの変更に使用された時のみ 再計算されます ビューで使用されていない フィールドを変更しても 無効化は全く起こりません こうして ほかのSwiftUIと同様に 自分のモデルをビューに接続した時― 最も自然なコードが 正しいコードにもなります SwiftUIはSwiftのためにデザインされた フレームワークの新世代の始まりでした Swiftネイティブフレームワークの利点は UIコードに留まりません Core Dataは長い間 データ管理のツールを提供してきましたが そのデザインはObjective-Cの時代に 生まれたもので Swiftが提供できるもの全てを 最大限に活用できていません 多くの方から全てのSwiftの機能のための 最高のサポートがデザインされた Swiftネイティブのデータ管理の ソリューションを求められてきました SwiftDataを紹介します SwiftDataはデータモデリングと 管理のためのフレームワークです Core Dataの実証済み永続レイヤー上に 作られていますが APIはSwiftのために完全に再設計され 再構築されています SwiftUIと同様に 完全にコードにフォーカスし― 外部のファイル形式はありません 代わりにSwiftの新しいマクロシステムを 使って効率化されたAPIを提供します Swiftでモデルを定義する場合 通常のSwiftタイプを使って このようなコードを書くかもしれません これをCore Dataで管理するには Xcodeに組み込まれたモデルエディタを使って 同じモデルを再定義する必要があります しかし SwiftDataでは @Modelマクロとクラスに注釈を付けるだけです この1行のコードには 様々な機能がつまっています 自動的な永続性の有効化や iCloudとの同期や取り消しとやり直しなどです 値が全てのインスタンスで 独自のものでなければいけないと示すなど プロパティに追加要素の注釈を付けることで これらの自動動作を改良できます SwiftDataはCodableプロトコルを使って structとenumを理解するので― 皆さんは既知のツールで データをモデル化できます これらのタイプは基本的なデータストアで 完全にモデル化されているので 複雑な構造のデータ上でさえも 高速で効率的にクエリーを実行できます もちろん SwiftDataを SwiftUIと統合するのは簡単です 新しいObservableマクロを使って SwiftUIビューのアップデートを動作させる― デモ用アプリを作り始めました 新しい鳥を見つけると インターフェイスがアップデートされますが 全ての実行で編集が保存されていません SwiftDataをインポートすることで 永続性への対応の追加が非常に簡単にできます 既存のクラス上で2つのObservableマクロを― SwiftDataのモデルマクロに置換するだけで モデルは準備完了です アプリのルートにSwiftDataコンテナを セットアップするため 修飾子を加えます 新たなバックヤードを作成する際に モデルのコンテキストに挿入し永続化させます 最後に 永続データに BackyardListビューを接続します 新しい@Queryプロパティラッパーによって 非常に簡単にできます 保存データを読み込んでいるので プロトタイプした時に使ったデフォルトの サンプルデータは削除できます テストする前に 作業中のウィジェットも アップデートしましょう コンテナとクエリーを 同様にセットアップするだけです アプリの共有コンテナを有効にすることで 同じAPIを使って ウィジェットが データに直接アクセスすることを SwiftDataが自動的に可能にします SwiftDataでバックヤードが永続化され @Queryでビューに送られます 始める前に幾つかの初期データを データベースに入力したので 既に何羽か鳥を確認できます 新たなバックヤードの オブジェクトを追加して リストに戻ると 追加の作業をせずに 表示されます SwiftDataは永続性だけではなく 自動的に機能する取り消しとやり直しの サポートなども提供します ご覧の通り ウィジェットが既に 今作ったバックヤードを表示しています SwiftDataを使うとデータの保存や復元が いかに簡単かを見せました SwiftUIとSwiftDataは互いに連係し 魅力的でパワフルなアプリの作成に役立ちます これらは Swiftが可能にする 開発への新たなアプローチの基盤を形成し ボイラープレートに費やす時間を減らし アイデアの構築に より多くの時間をかけられるようにします 次は Jonathanが これらのテクノロジーを適用して― どのようにシステム全体で新しい方法で 皆さんのアプリを向上させるかを説明します 4つの新しいアプリ体験について話せることを とてもうれしく思います WidgetKitを使えばシステム全体の 多くの場所にコンテンツを表示できます App Intentを使えばアプリの機能性が よりシームレスにシステムに統合されます TipKitを使えば ヒントを美しくアプリに直接表示できます そして AirDropを使えば近くのユーザーと より便利にコンテンツを共有できます まずは WidgetKitです ウィジェットはアプリからの 重要な情報を引き上げ― ユーザーの暮らしにおけるアプリ体験を より一目で分かりやすく アクセスしやすくします ウィジェットはホーム画面から始まりましたが 今では多くの場所にあり ユーザーが必要とする時と場所で 直接体験を提供します そして今年 ウィジェットは よりパワフルになります ほんの幾つかの簡単な変更で iOS 17用に再構築すれば 既存のウィジェットは iPhoneの「スタンバイ」で魅力的に見えます 拡大され 端まで引き伸ばされると共に 背景は削除されるので 並んだ様子は驚くほど美しく見えます iPadのロック画面上でも利用でき― 同様に 端まで引き伸ばされて 背景は削除されます 均一な見た目なので ロック画面に完璧に溶け込みます macOS Sonomaでは デスクトップ上でフルカラーで利用でき― ウインドウにフォーカスがある時は 背景に退きます インタラクティブ性への新たな対応により ウィジェットをより便利にできます リマインダーにチェックを付けるなど タップ1回でできるような簡単な操作が ウィジェットから直接できます ウィジェットの これらの新たなアップデートは全て― SwiftUIベースアーキテクチャにより 可能になりました ウィジェットのコードは コンテンツを生成するために非同期で実行され 構築されたSwiftUIビューは その後 アーカイブに保存されます その後でウィジェットを 呼び出す必要がある時― アーカイブを読み込み バックグラウンドでレンダリングし システムUIの一部として表示できます ユーザーがボタンをタップした時― 操作を処理するために Extensionが再び実行され UIをアップデートします このアーキテクチャはiPhoneのウィジェットを Macにシームレスに表示することも 可能にします 連係機能の魔法のおかげで ウィジェットのアーカイブを ネットワーク経由でMacに送れ― ユーザーのインタラクションを iPhoneで処理するために送り返せます 既存のウィジェットを使える状態にする方法は これ以上ないほど簡単です ウィジェットのバックグラウンドを特定し パディングをアップデートして― WidgetKitに提供されたデフォルトを 使うだけです SwiftUIのスタックベースのレイアウトにより システムはコンテキストに基づいて― ウィジェットの色と表示間隔を適用します ウィジェットにSwiftUIボタンや トグルを足せば インタラクティブ性も簡単に採用できます これらのコントロールから App Intentを新たに起動できるようになり Extensionを要求に応じて実行できます ウィジェットのコンテンツが アップデートされると― システムはKeynoteのマジックムーブのように トランジションとアニメーションを実行します 動かされた要素は新しい位置へ移動し 足されたり消されたりした要素は ゆっくりぼんやりとフェードインしたり フェードアウトしたりします 標準的なSwiftUIトランジションAPIを使って 更にカスタマイズし 望み通りのエフェクトを作成できます 既存のウィジェットに これらの新機能を組み込むのが どれほど簡単か見てみましょう サンプルアプリには バックグラウンドで注目すべきイベントを 監視するウィジェットがあります 最初にやるべきことは バックグラウンドの特定です これがウィジェットビューで バックグラウンドが まさにここのZStackにあることが分かります やるべきことは それを新たな コンテナバックグラウンドビュー修飾子に 移動させるだけです iOS 17からはウィジェットの パディングが提供されているので― 以前に足していたパディングを消去します Swiftマクロのおかげで ウィジェットのタイムライン全体を Xcodeプレビューで直接見られます プレビューのキャンバスの下に タイムラインエントリが全てあります それらをクリックすると アップデートした時にウィジェットが どうアニメーションされるかが表示されます このトランジションはすばらしいですが もう少し鳥が飛んで来るように 感じることができるか見てみましょう アプリ内と同様に標準的な SwiftUIトランジションを活用できます
エディタ内でBirdViewに トランジション修飾子を加えます 最先端のプッシュを試しましょう
すばらしいです
アップデートされたプレビューのキャンバスは 新たなiPadのロック画面や iPhoneのスタンバイのような― 異なるコンテキストでウィジェットが どう見えるかを確認するのも簡単にします スタンバイを見てみましょう 背景が削除される際に 鳥を目立たせたいと思います ここでは足が少し失われているので 鳥の水浴び場を足しましょう showsWidgetContainerBackground変数を SwiftUIは新たに提供するので 背景が削除された時にウィジェットが どう見えるかをカスタマイズできます
いいですね
多くの皆さんにウィジェットから アプリを操作できる機能を求められましたが 今後は可能です 鳥の水を補充するためのボタンを足しましょう このアクションのためのApp Intentは 既に定義したので それをウィジェット内のボタンと 紐付けるだけです シミュレータで試してみましょう
ご覧の通り 鳥の水を補充できました これが WidgetKitです システム全体の多くの場所に コンテンツを表示させることが これほど簡単だったことはありません ウィジェットを強化するために― インタラクティブ性と アニメーションのトランジションを 様々な方法で使えることにワクワクしています App Intentはウィジェット内の インタラクティブ性だけではありません SpotlightやショートカットやSiriという システム全体でアプリの機能性を高めます IntentをAppShortcutに ラッピングすれば Spotlightの検索結果で アプリのアイコンのすぐ隣に― より豊かでインタラクティブな形で 表示されます 幾つかを提供するだけです AppShortcutには短いタイトルと画像か記号を アプリのInfo.plistには アプリのアイコンを補完する背景色を すると アプリのショートカットが アップデートされた ショートカットアプリに表示され ユーザーは自動的に動作するよう設定したり ホーム画面に加えたり― それらを使って 独自のショートカットを作れます Siriも更によくなりました ユーザーはより柔軟な自然言語で ショートカットを呼び出せます WidgetKitとApp Intentを使えば ユーザーはアプリの機能に 全く新しい方法でアクセスできます 次に アプリの機能の 発見について話しましょう デベロッパは毎年 ユーザーが 気に入る機能の構築に時間をかけますが 最も恩恵を受けるはずのユーザーが その機能の存在を知らないことがあります TipKitという新たなフレームワークは 適切なタイミングで適切な機能について ユーザーに賢く教えることで この問題の解決に役立ちます TipKitにはユーザーがシステムのアプリ内で 見慣れたものと一致する テンプレートが含まれていて アプリの見た目や操作感に合うよう 簡単にカスタマイズできます TipKitの真価はそのターンキーな特徴です テンプレートをカスタマイズして 対象を加えさえすれば ユーザーに 現在のコンテキストに応じた機能を教えます ユーザーが既に見たヒントを見せないように 総頻度も管理できます たとえ別のデバイスで見た場合でもです 最後に ユーザーがAirDropでアプリから コンテンツを共有できるよう― 新たに楽しい方法を用意しました iOS 17では ユーザーは 共有シートをスキップして― すぐに近くの別のデバイスに コンテンツを送れます SwiftUIのShareLinkが使えます あるいはアプリの UIKitビューコントローラで activityItemsConfigurationを採用できます そして ShareSheetやクイックルックのような システムが提供するビューコントローラは 既にデフォルトで動作します WidgetKitやApp IntentやTipKit そしてAirDropは アプリのコンテンツに ユーザーが 適切な場所で適切な時にアクセスできる体験を 構築するのに役立ちます これらを使用して― アプリを更に向上させるのを 見るのが楽しみです Darinに戻します 私たちのプラットフォームは ハードウェアのユニークな性能を 最初からすぐに活用できるように 作られています Neural Engineを利用して写真を処理する時も 加速度センサーを使って 睡眠時の動きを測定する時も 私たちのAPIは ハードウェアのテクノロジーの パワーを簡単に活用できるようにします 次に ゲームとカメラとディスプレイと Apple Watchにもたらす改良を見ていきます Brandonが説明します Appleシリコン搭載のMacは 驚異的なパフォーマンスと 長いバッテリー駆動時間と 美しいグラフィックスにより ハイエンドゲームを動作させるのに最適な プラットフォームです そして macOS Sonomaの ゲームモードによって Macでのゲームは更に向上します Macは かつてないほど人気のため 皆さんのゲームを― 何百万人もの新しいプレイヤーに届ける 最高のタイミングです Windowsやゲームコンソール向けのゲームを 作っているデベロッパなら Macに自分たちのゲームを導入するのが これまで以上に簡単になります 新しいGame Porting Toolkitを使うことで 3つのシンプルなステップで 開発を大幅に加速させます まず 提供された エミュレーション環境を使って 既存のWindowsゲームがMac上で どれだけうまく動作するか評価できます これにより ゲームの 潜在的なパフォーマンスをすぐに分析でき 何か月もかかる事前作業を省けます 2つ目のステップでは シェーダーの変換とコンパイルを行います Game Porting Toolkitは 新しいMetal Shader Converterを搭載していて 全ての既存のHLSLのGPUシェーダーを Metalに自動変換できます これは ジオメトリやテッセレーションや メッシュやレイトレーシングなどの段階にある 皆さんのゲームの先進的な シェーダー開発パイプラインの全てを含みます このツールは ゲームのビルドが Xcodeでも シェーダーのコンパイル用のWindowsベースの カスタムツールチェーンでも使えます 3つ目のステップは グラフィックスコードを変換して ゲームを最適化することです Metalは モダンなハイエンドゲームに使われる 先進的なグラフィックスと 演算機能の全てを提供するので グラフィックスコードの変換が 驚くほど簡単になります Xcode自体に組み込まれたパワフルな グラフィックスパフォーマンスツールや― デバッグツールが― ゲームを完全に最適化するために必要な 全てのガイドを提供します 皆さんがこれらのツールを使って Appleシリコンの驚くべき性能や パワフルなグラフィックスやディスプレイや オーディオやインプットや ゲームのテクノロジーを活用して かつてないほど劇的な速さで 皆さんの ゲームをMacに導入するのが楽しみです より速いパフォーマンスといえば カメラについてもお知らせがあります Appleはモバイル写真撮影を前進させ 世界で最も人気のあるカメラで 驚くようなことを可能にする APIを拡張し続けています AVCaptureは 創造性から生産性やSNSや健康まで 全てのカテゴリーにわたるiOSアプリの 3分の1以上で使われています 今年はパフォーマンスが大幅に向上します ゼロシャッターラグにより シャッターが押されたその瞬間を捉えます オーバーラップする撮影では シャッターが素早く押された時に カメラが画質をダイナミックに調整します 遅延処理により Deep Fusionを含む高品質な画像を バックグラウンドで処理できます iOSやiPadOSのアプリでシャッターを押す間の ショットからショットまでの時間が これらの改良で最大3倍速くなります 高品質な画像を撮影する場合もです 今年後半には 音量ボタンでも カメラのシャッターを 発動できるようになります アプリ内の写真表示についても 大きなお知らせがあります ここ数年で HDR対応のディスプレイが iPhoneとiPadとMacを含め 広く利用できるようになりました HDR写真撮影は更なるダイナミックレンジを 捉えることで利点を活かし 現実に体験した場面と全く同じような かつてないほどの忠実さとリアルさで 明るいハイライトと 暗いシャドウを映し出します AppleはHDR写真撮影を 主流にしてきたリーダーであり iPhone 12以降で何兆枚ものHDR写真が 撮影されています これを実現するため カメラアプリは 撮影時にその場面を賢く解析し 更なるハイライトとシャドウの データを保存します HDRビデオには業界規格がある一方で HDR写真の保存や表示に関しては 標準規格が存在せず 扱いが難しくなっていました しかし 今年 全てが変わります Appleが業界全体にわたる取り組みを 推し進めてきた結果 HDR写真のエンコードと 表示に関する仕様が確立され それが最近 国際標準化機構によって 承認されました その仕様はiOSとiPadOSとmacOSのAPIとして 利用できるようになったため 僅か数行のコードを書くだけで 皆さんのアプリで 互換性のある写真を表示できます これは画像を表示する全てのアプリへの すばらしいお知らせですが 写真だけではありません コンテンツ作成アプリも― これを使って 画像を更なる ダイナミックレンジで浮かび上がらせられます これで 撮影から編集や共有まで 完全なHDRのワークフローが可能になり 誰もが フルHDRの美しさを― 撮影者が体験したのと全く同じように 楽しめるようになります 次はビデオについて話しましょう 最近では 私たちはビデオ会議や クリエイティブなアプリなどで 多くの時間をカメラを使って過ごしています 私たちはビデオのライティングや エフェクトに注力し続けています 例えば こうしたリアクションや ジェスチャーや プレゼンターオーバーレイなどの 新しいエフェクトです それらは 受信するカメラ映像に組み込まれ アプリ内でも動作します 皆さんのアプリは これらのエフェクトの発動を観察できるので アクションを加えられます 例えば リアクションを全員が確認できるよう ユーザーのタイルを目立たせるなどです ビデオ会議アプリでは ScreenCaptureKitで画面共有や カメラ機能に数々の改良をもたらせます 新しいScreenCaptureKitのピッカーで ユーザーはより簡単に よりプライベートで より安全な方法で 画面共有を始められます ピッカーを使えば アプリで 複数のウインドウや 複数のアプリでさえも 一度に共有するのが簡単になります ユーザーは自分が使っているアプリから 直接 共有を始められ 新しいビデオエフェクトメニューで 何が共有されているかプレビューできます ScreenCaptureKitの もう1つの利点として より高解像度のコンテンツで 1つのウインドウを共有する際に より美しい共有画面を実現できます iPadに外部カメラへの対応も導入しました どんなUSBカメラでも接続して iPadアプリ内で使えます 更に カメラとマイクの機能を 全く新しいプラットフォームである tvOSに追加します tvOSの連係カメラによって初めて iPhoneだけでなくiPadも活用して tvOSアプリでビデオとオーディオを 統合できます リビングルームを舞台にすれば アプリですばらしいことができる可能性が 大いにあります 例えば 会議アプリでは センターフレームを使って グループビデオ通話を 家の最大の画面で よりダイナミックに行えます ゲームでは― カメラとオーディオのフィードを アクションに直接取り入れられます クリエイティブなアプリでは ポートレートモードや そのほかの楽しいエフェクトを適用して ビデオのストリーミングや録画が可能です 既にApple TVアプリがある場合は お馴染みのフレームワークを 活用することで よりつながりのある ソーシャルな体験にすることができます 連係カメラの活用を考えていて まだtvOS向けの開発をしていない方は SwiftUIでとても簡単に始められます どう機能するか見せましょう 楽しいフィルターでセルフィーを撮れる PartyCamというiPadアプリを例に説明します まず destinationとしてApple TVを追加します
次に ユーザーがどのiPhoneを選べばいいか 分かるようにピッカーを加え ピッカーを提示するコードを加えて 実行します あとは リモコンを手に取り 写真を撮るだけです やあ SusanとSerenity
すばらしい 皆さんがリビングルームを より楽しいものにするのが楽しみです では watchOSの新機能について Loriが説明します Apple Watchは 私たちの 初めてのウェアラブルデバイスとして デベロッパに タイムリーな通知や 健康やフィットネスに関する洞察や 便利なアプリ体験を人々の手首にもたらす 新たな可能性を開きました 今年 watchOS 10は 大幅にデザインを刷新し モダンなApple Watchモデルの より大きく より明るいディスプレイや より有能で より接続性の高い ハードウェアを活用します SwiftUIは この再設計のまさに中心にあります ほぼ全てのアプリを よりダイナミックに よりカラフルに より一目で分かりやすくアップデートするため SwiftUIをシステム全体に採用しました 幾つかの例を見せましょう watchOS 10では 新たにページングにフォーカスしており Vertical TabViewsで 様々なページサイズを可能にし アプリ内でのスクロールのために Digital Crownをより有効に使えるので 全ての貴重なコンテンツのための スペースが犠牲になることはありません 新しいcontainerBackground修飾子で 読みやすい グラデーション塗りつぶしが 可能な色を使うことができ ユーザーはアプリ内のどこにいるかを 理解しやすくなったり データがより一目で分かりやすくなります 画面全体に表示するアプリのデザインでは 新しいToolbarItemの配置で 画面の隅をより活用し 必要に応じて時刻を自動で 中央に移動させられます 更に ソースリストと詳細ビューを 強く関連付けたレイアウトには ほかのプラットフォームと同じコードを使う NavigationSplitViewが Apple Watchで これまで以上に力を発揮します Apple Watchの詳細ビューの切り替えには SwiftUIの新しいインタラクティブな スプリングアニメーションも使います 1つのアニメーションプランに対して 12の個別のトラックで構成されていて ビューのサイズと位置の両方が ユーザーの指の速さによって決まる アニメーションになります もちろん 全ての主要なUI要素は マテリアルの処理でアップデートされ どんな背景でも読みやすく ハードウェアに合わせて 自動でサイズが変わります 既にアプリにSwiftUIを採用している場合 watchOS 10 SDKでビルドすれば これらのアップデートは自動で行われます もともとwatchOS 9向けに設計したアプリ Backyard Birdsを使って説明しましょう これはNavigationStackを使った リストと詳細で構成されるアプリで コードを一切変更しなくても watchOS 10向けに再コンパイルすれば うまく機能します ビューは 新しいナビゲーションバーの 高さに合うように自動で調整され スクロールすると大きなタイトルが縮小し アニメーションで動き時刻の下に配置されます それでは アプリがwatchOS 10に より馴染むように編集していきましょう アプリの起動時に 毎回リストから選ぶのではなく 常に自分の基本の庭の 最新状態が表示されるようにします NavigationSplitViewは ソースのリストと詳細の関連が強い アプリ向けに設計されているため NavigationStackを NavigationSplitViewと入れ替えます ナビゲーションタイトルは アプリのエントリポイントではなくなるので ソースリストから取り除き 詳細ビューがデフォルトで開くように示します これでソースリストが 詳細ビューの後ろに隠れるので 詳細にフォーカスできます ですが 私の詳細ビューは かなり長くなっています これは3つの明確なセクションがある スクロールするListです そこでListを― 各セクションに個別のページがある Vertical TabViewsに変換し コンテンツを分割します 各ページは デフォルトで画面の高さになり 更に 最後のセクションに ForEachループが入っているため それぞれの鳥に個別のページができます 全ての鳥を「画面の高さを超えたら スクロールする」という― 1つのタブにまとめたリストが あった方がいいので このForEachをListに変更すると スクロール可能なビューになります 次は タブ間で識別できるよう 色を加えたいので .containerBackground修飾子を 各タブに加えます そして 食べ物や水がなくなってきた時に すぐ気付けるよう 「栄養」の背景をダイナミックにします 補給レベルに基づいて 緑色か黄色か赤色になります ライブプレビューで変更点を見てみると 背景の色によって アプリ内の場所の感覚がつかめ 食べ物や水を補充する必要がある時に より気付きやすいことが分かります 最後のタブで コンテンツを 画面の境界外までスクロールできるようになり ソースリストボタンをタップすることで 庭のリストにも切り替えられます 数か所変えるだけでアプリを watchOS 10にぴったり合わせられました システム上の全てのアプリを すばらしくしようという私たちの取り組みは SwiftUIによって より楽になりました そして ご覧になったように これらの新しい設計の考え方に向けた アプリのアップデートも簡単になります まだアプリをSwiftUIに移行していないなら 今こそ その時です これらのSwiftUIベースのアプリの アップデートに加えて watchOS 10には AppIntentsの関連性により ウィジェットが適切なタイミングで スマートスタックの上部に移動する 全く新しいシステムスペースがあります そして 先ほどと同じ .containerBackground修飾子を使い カスタマイズした美しい背景で それらのウィジェットを輝かせられます ワークアウトアプリを作っている方なら アプリからフィットネスプランを共有できる 新しいカスタムワークアウトAPIを使って ユーザーがApple Watchの― フィットネストラッキング機能を 活用できるようにすることができます また 新しいCore Motion APIによって より忠実な動きと加速度センサーの データの計測を可能にし ゴルフやテニスなどのスポーツの スイングの分析の改良に役立てられます 皆さんは とてもクリエイティブなので このデータは どんな種類のワークアウトを 実行する時でも利用可能です これを使って 皆さんが どんな体験を作り出すのかが楽しみです 今年 watchOSで実現される 大きな変化を幾つか紹介しました Darinに戻します プラットフォームにとって重要なのは それを使う人々と― そこに 一から組み込まれている理念です これらの 中心にある理念は Appleにとって大きな意味があり 皆さんにとっても大きな意味があると 考えています 力を合わせれば 皆さんのアプリを誰もが使えるように 人々のニーズに合わせながら 自分や 自身のデータを守りたいという― それぞれのユーザーのニーズを 尊重したアプリを作れます まずは 私たちのプラットフォームが どうやってこの重要な仕事を より簡単にするかを話します Chrisが詳しく説明します 全ての人が私たちのデバイスを使って 自分の好きなことを― できるようになるべきだと信じています ですから 私たちの製品を アクセシブルにすることは Appleの中心にある理念です 世界保健機関によると 世界には10億人以上の障がいのある人がいます アクセシブルなテクノロジーを構築することは 創造したり 学んだり― つながりを保ったり 思い通りの生活を送るための最高のツールを より多くの人々に 提供することを意味します だからApple製品は 手に取ってすぐに利用できる アクセシビリティ機能を備えています 目が見えない または視覚障がいがあったり 耳が聞こえない または聴覚障がいがあったり 話せない または言語障がいのリスクがあったり 身体または運動に障がいがあったり 認知障がいがあったりする ユーザーのためにです 私たちのフレームワークは これらのアクセシビリティ機能の サポートが組み込まれていて 皆さんのアプリが全ての人にとって アクセシブルにできるようにする ツールやAPIも備わっています 多くの場合 アクセシビリティで大事なことは 大きな影響を与える小さな進歩です 例として昨年 人々が自分の環境で 自立的に移動できるよう 拡大鏡アプリにドアを検出して 説明できる機能を追加しました 今年は アニメーションや― フラッシュ点滅に敏感なユーザーへの サポートを拡大します これらのユーザーは 難しい選択に 直面することがよくあります フラッシュ点滅の警告で始まる映画などの リスクがありそうなコンテンツを避けるか または 十分な情報を得ることなく コンテンツを消費して― 自分を発作などの健康リスクにさらすか といった選択です これらのユーザーにとって アプリのコンテンツをよりアクセシブルにする 2つの機能のためのAPIを 私たちのフレームワークは備えました 最初の機能は アニメーション画像の停止で Safariやメッセージなどにある アニメーションGIFの動きを止めます アプリに追加するのは簡単です SwiftUIのTimelineViewで 一連の画像を アニメーションにしているとします ユーザーがアニメーション画像の一時停止を 希望するかを理解するために 新しい環境プロパティを使うことができ 希望する場合 選択を尊重して アニメーション画像を静的な画像に 置き換えます 2つ目の機能は 「刺激的な光の点滅を検知時に暗くする」で 明るいフラッシュ点滅が続く間は ビデオの表示を自動的に暗くします
AVFoundationの ビデオレンダリングパイプラインには フラッシュ要素を特定し暗くする 新しい段階があります アプリ内でメディアを再生するために AVFoundationを使うなら この機能をサポートするための 追加の作業は要りません しかし アプリがカスタムの メディアプレイヤーを使っている場合は フラッシュ点滅を含むビデオコンテンツを 特定し 自動的に暗くするために 新しいAPIを使用できます 私たちはこのアルゴリズムを オープンソース化しているので この機能の仕組みを理解できます 全ての製品とフレームワークに アクセシビリティを組み込む取り組みは 最新のプラットフォームである visionOSにも及んでいます 世界最高のテクノロジーは― 全ての人のニーズに 応えるべきだと私たちは信じているからです visionOSは その基盤に組み込まれた 多くのアクセシビリティ機能を 最初から備えています デベロッパの皆さんは visionOSのアプリを 全ての人にとってアクセシブルにすることで 必要不可欠な役割を果たします 現在 皆さんが iPadOSとiOSで使用しているのと 同じツールとAPIを使用することによってです 空間コンピューティングを多様なユーザーに 届けるために 一緒に作業するのが楽しみです Vision Proのアクセシビリティについては 後ほど 説明します プライバシーについて Katieに説明してもらいます Appleはプライバシーを 基本的人権だと信じています ユーザーがどれほどプライバシーを 大事にしているかを理解しているので 皆さんの機能に優れたプライバシーを 提供できるようにします 長年にわたって アプリにプライバシーを 組み込むための様々な方法を作ってきました 今年は プライバシープロンプトの 改良をはじめとする多数の領域で ユーザーに強力なプライバシー体験を より簡単に提供できるようにします カレンダーの許可から 始めましょう 多くの場合 アプリは カレンダーの読み出しのアクセス権は必要なく 新規予定を追加できればいいだけです これらの場合のために 新しく 追加のみの許可を作りました これは必要なアクセス権を 取得できるようにし ユーザーはそれらを理解するための プロンプトを得られます 写真アプリでは 皆さんのアプリに写真を提供するための 2つの選択肢をユーザーに提供しました どの写真を共有するかを選択するか ライブラリ全体へのアクセス権を付与できます 皆さんが必要なものを的確に得られて ユーザーは意図するものだけを 共有できるように ユーザーがアプリと共有する写真の選択を より簡単にできるようにしたいと考えました そこで アプリに組み込める 新しい写真ピッカーを追加し ユーザーがアプリ体験の中で共有する写真を 簡単に選択できるようにしました 次はアプリのプライバシーです どのようにデータを守るかを ユーザーが理解することは重要なので 私たちは それを可能にする機能を作りました 例えば Privacy Nutrition Labelsによって 皆さんがどのようなデータを集めたか それをどう使っているかを ユーザーは理解できます 皆さんの多くが すばらしい機能性を提供する― 他社製SDKを アプリに組み込んでいます しかし それらがユーザーのデータを どのように扱うかが分からない場合 ラベルを正しく表記するのが 困難になります そしてソフトウェアのサプライチェーンに セキュリティ上の困難を もたらすことがあります そこで今年 2つのアップデートを導入します 1つ目は他社製SDKが どのようにデータを使うかを理解できるように privacy manifestsを導入しました これはアプリ内の他社製コードの プライバシー慣行を― 標準的なフォーマットで 概要を説明するファイルです アプリを配信する準備をする際に Xcodeは使用している― 全ての他社製SDKのmanifestsを 1枚の使いやすいレポートに統合します 全ての他社製SDKのための 1つの概要のレポートによって App Store Connectで 正確なラベルを作ることが かつてないほど簡単になりました 私たちはソフトウェアのサプライチェーンの 整合性の向上も手助けします 他社製SDKを使う時 ダウンロードしたコードが 期待するデベロッパが書いたものかどうか 見分けるのが困難な場合があります それに対処するため― 他社製SDKのための 署名を導入します 更なる安心のために アプリに他社製SDKの― 新しいバージョンを採用すると 同じデベロッパが署名したかを Xcodeが検証します 他社製SDKのための privacy manifestsと署名によって 皆さんがユーザーを守ることや― ユーザーがデータの使用用途を理解するのが より簡単になります そして最後に コミュニケーションの安全性です これは私たちのプラットフォームにおいて 子供を守るために― プライバシー保護の テクノロジーを使用しています 私たちのプラットフォームと 皆さんが開発するアプリは とりわけコミュニケーションにおいて 世界中の多くの家族の生活で― 重要な役割を果たしています Appleデバイスを使う子供に 更なる保護を提供するため iOS 15ではメッセージに コミュニケーションの安全性を導入しました 皆さんの多くは ユーザーが コンテンツを共有するアプリを開発していて 同時に脆弱な状況にいる子供を 守りたいとも考えています 安全でないコンテンツを分類するモデルの トレーニングと実装は 解決しがたい問題になったり 大仕事になることがあります そこで センシティブな内容の分析 フレームワークによって 全てのプラットフォームに コミュニケーションの安全性を導入します たった数行のコードで フレームワークが ヌードを含む画像やビデオを 検出できるようにします これは全てデバイス上のみで行われます だから コミュニケーションの安全性を 有効にした子供たちに 皆さんのアプリで ポジティブな体験を与えられます センシティブな内容の分析 フレームワークには コミュニケーションの安全性と 同じテクノロジーが使われています フレームワークは画像やビデオを 全てデバイス上で処理することで ユーザーのプライバシーを保護します 更に センシティブな内容の警告によって センシティブなコンテンツを ぼかす機能を提供します センシティブな内容の分析フレームワークは ユーザーがコミュニケーションの安全性 または センシティブな内容の警告を― 有効にしているかを知らせるので 有効化された機能を基に アプリ体験を調整できます これらの新しい機能によってユーザーに プライバシーと安心をもたらすことが これまでになく簡単になります 次は ChrisがApp Storeの 最新情報をお伝えします ユーザーが 安全やプライバシーや パフォーマンスに関する 私たちの高い基準を満たすアプリを 見つけられる 信頼できる場所があります App Storeです App Storeは App内課金などの 様々なビジネスモデルで アプリを世界中に配信することを可能にします StoreKitは 安全で信頼できるApp内課金の基盤です 皆さんの製品をアプリのUIにつなぐ 強力なデータモデルを提供します App内課金を提供しているのなら ユーザーが十分な情報を得て購入できるよう 価格やサブスクリプション期間などの 主要な詳細を示す重要性を知っているでしょう 多くのデベロッパが それを正しく示すのに苦闘しています 今年は StoreKitを更に進化させ ヒューマンインターフェイスガイドラインの 事例を用いて 全てのプラットフォームで アプリの販売促進UIを強化するための 新しいビューのコレクションを提供します SwiftUIの宣言型シンタックスを使って 販促体験を作ることができ あとはStoreKitに任せられます 例を見てみましょう ProductViewでは App Store Connectで定義したデータを使い 皆さんの製品を表示できます アプリの見た目と雰囲気に合うよう 簡単にカスタマイズできます SubscriptionStoreViewは サブスクリプションのためのビューです 僅か1行のコードで 各レベルのサービスの説明と価格と期間が ユーザーに明示されます これらのビューは iPhoneのためだけではありません 同じコードで 全てのAppleデバイスの プラットフォーム体験に合うビューが作れます Apple Watchのコンパクトな画面にさえも 合わせて縮小されます もちろん これらは全てのユーザーのために アクセシビリティとローカライズに 配慮して作られました SubscriptionStoreViewを アプリに統合するのはとても簡単です では Backyard Birds Passの サブスクリプション提供に取り組みましょう Xcodeに入り SubscriptionStoreViewに宣言を追加して Backyard Birdsの見た目と雰囲気に合わせます マーケティングコンテンツを ビューでカスタマイズし コンテナの背景を追加して サブスクリプションの選択肢の スタイルを変更します
これで 見た目がよく アプリのブランディングに 合うものができました また ユーザーと同じ完全な体験が得られる シミュレータを簡単に見てみましょう オファーを選択し
「登録」をクリックすると購入完了です
これだけで ユーザーが情報に基づいた 決断を行うのに必要な全ての情報を示す― カスタマイズされた購入体験が作れます また ユーザーの購入履歴や サブスクリプションのステータスに基づいて オファーをカスタマイズするのは 難しいものです そこで SubscriptionStoreViewが 自動的にユーザーの利用資格を判断し 適切なオファーを表示します 新しいStoreKitビューは App内課金の販促に最良の方法です ビジネスを成長させる上で もう1つの重要な側面は ユーザーがアプリを見つけるのに 広告がいかに役立つかを理解することです そこで SKAdNetworkが役立ちます 広告ネットワークが プライバシーを保護しつつ 広告がアプリのダウンロードに寄与した効果を 測定します ダウンロードの測定に加え 広告が皆さんのアプリに いかにユーザーを呼び戻すかを 理解することも重要です SKAdNetwork 5は 再エンゲージメントの測定をサポートします ユーザーがアプリをダウンロードした後の コンバージョンに加え 広告をタップしてアプリを開いた後の コンバージョンも計測できます バージョン5は 今年の後半のiOSリリースで 利用可能になります App内課金とSKAdNetworkの新機能は ユーザーのプライバシーを尊重し ユーザーに透明性と安心を与えつつ 責任を持ってビジネスを成長させます Darinに戻します プログラミング言語とフレームワークのように 私たちのツールは互いのために作られています XcodeはAppleの全てのプラットフォームで アプリの開発やテストや配信に必要な 全てをまとめています TestFlightとXcode Cloudは コードの1行目から App Storeでの初ダウンロードまでの体験を シームレスなものにします Kenが最新情報を説明してくれます
全てのAppleプラットフォームで デベロッパ体験の中心にあり 全てのすばらしいアプリの開発を 支えるツールが Xcodeです コードの作成やUIの設計に インタラクティブなプレビューや ライブアニメーションを取り入れたエディタや チームとの作成やレビューや 変更の共有のために組み込まれた― ソースコントロールなどの パワフルな機能をまとめたものです アプリの評価と改良に役立つ デバッグとプロファイルとテストのツールは 全てXcode Cloudにつながっています TestFlightとApp Storeへの配信を簡単にする 継続的インテグレーションと配信サービスです Xcode 15には 大きなアップデートがあります まずは皆さんが大半の時間を過ごす場所 ソースエディタです コード補完は より素早く より少ないミスで 求めるコードを記述するのに役立ちます Xcode 15では周辺のコードを参考に 最も関連性の高い補完が エディタに優先表示されます 使用中の特定のビューに 最適な修飾子を表示したり ビューのカスタマイズで 修飾子を連鎖させる時などです Xcodeはアセットカタログのリソースに シンボルを自動生成し それがコード補完で表示されるので 簡単にコードで使えます これで安全に入力でき 実行時にアセットが使用可能になると 安心できます これらのアセットを使用するすばらしい場所が SwiftUIビューです Xcodeプレビューは UIを反復処理するシームレスな方法で アプリのコードと並行して設計している時に ほぼ瞬時にフィードバックが得られます Xcode 15で プレビューはより簡単に より多くの場所で使用可能になります まずは Swiftマクロを使って作られ 簡単に書けて覚えやすい 新しいシンタックスです 異なるプラットフォームや デバイスでの作業はより簡単になり キャンバスで選ぶだけで どこでもビューが美しく見えます 全てのUIフレームワークで プレビューが使えるようになります SwiftUIでもUIKitでもAppKitでも UIを反復処理でき コードのどこからでも 一貫した体験を得られます 素早い変更とプレビューに対応すべく Xcodeは変更のレビューとコミットの仕方を 効率化します 皆さんの多くが ワークフローで使うGitステージングは Xcodeに直接 統合されます どんな変更も1クリックで ステージングや取り消しができ コードから離れずに次のコミットを作れます ソースコントロールナビゲータから 1つのビューで全ての変更をレビューでき コミットを仕上げやすくします Xcodeは未プッシュのコミットも表示するので 全てのコミットを1つのpull requestにまとめ 完璧にタイミングを合わせられます 次はテストについて話しましょう テストは高品質のアプリを作るのに不可欠です 多くのプラットフォームやデバイスや 言語やユーザー機能にまたがって コードが成長すると テスト結果を見て回り 注力すべき点を確認するのが難しくなります Xcode 15は テストレポートを完全に刷新し 結果をより理解し より適切に対応できる 新しいツールを用意しました これは美しい結果の概要から始まります 同じアサーションメッセージが出るものなど 共通する失敗パターンを含む Top Insightsが表示されます また デバイスや言語など 様々な構成での テスト結果の包括的なサマリーも見られ パターンを洗い出すのに役立ちます そして 注力すべき場所を 素早く見られるヒートマップもあります 私は Backyard Birdsアプリの ある機能に取り組んでいます 最新のテスト結果を見ると 問題があると分かります まず この洞察をクリックしてみましょう 新しいテストでは毎回 タップのジェスチャーが失敗しているようです 失敗したテストをクリックすると 左側にテストの詳細 右側にアプリのUIのフル録画が表示されます 特定のアクティビティを選ぶことも― 新しいタイムラインで 任意の瞬間に飛ぶこともできます テストで このビューがスクロールした箇所や 検索フィールドをタップした箇所など 興味深いポイントの印が見られます これはフルビデオ録画なので 更に詳しい情報や テストの失敗前に何が起こったかが見られます 再生して何が起こったか見てみましょう このテストでは 鳥に与える食べ物を選択しています 鳥は飛び始めますが― 私のアクションが完了する前に消え それが原因でテストが失敗しています タイムラインとビデオ録画を備えた この新しいテストの詳細で アニメーションやジェスチャーや そのほかのUI体験のテストを より速くレビューできます ビデオ以上のものが必要なら accessibilityFrameを見ることもでき より多くの洞察をビューに取り入れられます これら全てを組み合わせ 新しいレポート体験で より深い洞察と更に詳しい情報と より多くのインタラクションが得られ テスト結果を最大限に活かせます XcodeとXcode Cloudでシームレスに動きます Xcode Cloudは 全ての Appleプラットフォームで アプリを 構築し テストし 共有するのに役立つ 継続的インテグレーションと配信サービスです Xcodeに緊密に統合され 1か所に集中できるようにすることで 時間を節約します Appleのクラウドインフラストラクチャを 利用して ビルドやテストや 更に配信用の コード署名を省きます TestFlightやApp Store Connectなどの Appleのサービスとつながり 高度なセキュリティを備え 皆さんとプロジェクトを守ります 昨年は Xcode Cloudを Apple Developer Programメンバー全員に 提供しました 何万ものチームがXcodeから直接 プロジェクトをオンボードし すばらしいフィードバックが得られました これからも Xcode Cloudを更に向上させます 私たちはパフォーマンスに 本当にこだわっています 昨年以来 皆さんが計算時間で 更に多くのことができるよう 重要な投資を行いました 皆さんの最も重要なリクエストも 取り入れました TestFlightに配信する時に テスター用のノートを作成し 共有できるので 全てのユーザーが改良についての 最新情報を得られるようになります Xcode Cloudは Developer IDでの配信で macOSの公証もサポートし ユーザーとアプリを共有する前に 悪意あるコンポーネントを 自動的にチェックできます たった数分でワークフローを設定できるので テストのビルドとアプリのデプロイに 多くの計算時間を活用できます これからもXcode Cloudをより速く より安全で より柔軟にしていくので 今後が楽しみです この1年でAppleシリコンのマルチコア アーキテクチャにコンパイラを最適化し 全てのビルドをより速く より拡張可能にしました リンカは 一から再設計され リンクスピードが大幅に向上しました リンキングは最大5倍速くなりました 新しいリンカはデバッグバイナリのサイズも 最大30%削減しています また 大量のフレームワークを 組み込んだアプリには 開発中に より速いビルドを実現し 本番環境でアプリサイズを縮小し 起動時間を加速する 新しいフレームワークタイプがあります 最後に 今後も Xcodeをより速く より簡単に始められるようにします Mac App Storeで Xcodeは50%小さくなり 全てのシミュレータは オンデマンドでダウンロード可能です つまり すぐ使えて 必要なプラットフォームを 適切な時にインストールできます Darinに戻します 連係した言語とフレームワークとツールと サービスを作るという非凡なアプローチは 新しいプラットフォームの導入時に 真価を発揮します 共有された基盤を使うことで プラットフォームを親しみやすくし 一方で その個性を輝かせます visionOSは 私たちの長年にわたる プラットフォームへの投資を活用して このアプローチの利点を示します Mikeに説明してもらいます
Apple Vision Proの登場は 空間コンピューティングの世界への 旅立ちを示します これからは これまで可能だと 理解していたものを超えて つながりや生産性や楽しむということの 意味を見直せます Vision Proには画期的な技術が たくさんあります 皆さんのアプリは新たな要素を使って ユーザーの空間と相互作用し 彼らの部屋とシームレスに融合します これは皆さんが既に知っているパワフルな 技術を使うことで全て可能になります SwiftUIとRealityKitとARKitが visionOSのために拡張されました この堅固な基盤と アップデートされた一連のデベロッパツールで Apple Vision Proのための 全く新しいアプリの世界を作ることに すぐに馴染めるでしょう 今日は visionOSを使い始めるのに 必要な全てを網羅します 基礎的な構成要素から 重要なフレームワークやツールや技術までです 皆さんがVision Proで アプリを実現するのをサポートするために 私たちが立ち上げるアクティビティや プログラムについて紹介します Vision Proの無限キャンバスを 活用するアプリや 部屋を没入感のあるメディア環境に 変えるアプリなどです では始めましょう
Vision Proはアプリ体験で 何が可能かを見直させてくれます アプリの種類にかかわらず それが 3Dでユーザーのスペースで どのように存在するかを― 理解する必要があります これは デベロッパにとって 判断材料となります その理解によって Vision Proの機能を活用できるようにし 今までは不可能だった方法で アプリに集中と没入感をもたらせます アプリはデフォルトで 共有スペースに立ち上がります 共有スペースはMacの デスクトップ上の複数のアプリのように アプリが並んで存在する場所です ユーザーはアプリの位置を好きな場所に 完全に自由に変えられます スペース内で使える要素について お馴染みのウインドウから話しましょう visionOSでは アプリは 1つまたは複数のウインドウを開くことができ それはSwiftUIのシーンで― スペースにおける平面のように 期待通りの動作をします 従来のビューやコントロールを含むことができ 3DオブジェクトやRealityViewsにまで 対応しているので 3Dコンテンツを2Dコンテンツと 並べることができます 更に アプリはSwiftUIシーンでもある 3次元のボリュームを作ることができ ゲームボードや地球儀などの 3Dオブジェクトを表示できます ボリュームはスペース内で動き回せて あらゆる角度から見られます 場合によっては アプリ内の没入感のレベルを もっとコントロールしたいかもしれません 例えば ユーザーがビデオを見たり― ゲームをしたり プレゼンテーションの練習をするためです 専用のフルスペースを開くことで それが可能になり― そこではユーザーのビュー全体に 皆さんのアプリやウインドウや ボリュームや3Dオブジェクトのみ現れます つまりそれらが空間コンピューティングの 基礎的な要素です ウインドウとボリュームとスペースです これらは 継続的な没入感を実現する アプリを作るための 柔軟なツールセットを提供します アプリの構築をどう始めるかについて Geoffが説明します Vision Proは幾つかの種類のアプリに 対応しています 既存のiPadとiPhoneのアプリに対応し― どちらもオリジナルの見た目と雰囲気の 1つのスケーラブルな 2Dウインドウとして対応します しかし それは可能性の ほんの始まりにすぎません 本質的には visionOSは iPadOSとiOSに似ていて 同じ基礎的なフレームワークが 多く含まれています ユーザーインターフェイスを作るために SwiftUIとUIKitを使い― 3Dコンテンツやアニメーションや 視覚効果の表示にRealityKitを使い― ユーザーの周りのスペースを理解するために ARKitを使います これらは全てvisionOS SDKの一部です では 皆さんのアプリをVision Proに 導入するには何が必要か まず Xcode内でプロジェクトに visionOSのdestinationを加えます 再構築する際には アプリに幾つかのすばらしい改良が 自動的に加えられます
visionOSの見た目と雰囲気のマテリアル 目と手での操作に合わせた間隔の 完全にサイズ変更可能なウインドウと カスタムコントロールのための ハイライト調整へのアクセスです それから visionOS固有のコードを加え ウインドウやボリューム またはスペースの コレクションへ アプリを拡張できます ここから SwiftUIとRealityKitとARKitの― 拡張された機能を活用し始めることができます その方法を Enricaが説明します visionOSで フレームワークの多くは 空間体験をサポートするよう拡張されました SwiftUIで ウインドウの中に深度や 3Dオブジェクトを加えられるようになります iOSとmacOSでは 通常 ZStackはビューを重ねるのに使われます visionOSでは 更に 重ねたビューに深度を付けて分離でき― 2Dアプリに3Dの雰囲気を与えられます 新しいZオフセットビュー修飾子で UI要素の深度を微調整できます ビューのオフセット値をより高くすると 低い値のビューよりも手前に表示します これを使って強調を表現したり― 選択画面の詳細表示などの モダリティの変化を示すことができます そして 追加のビュー修飾子により 幅と高さと奥行きをよりコントロールできます Vision Proでは ジェスチャーさえも 追加されたスペースを認識します 私たちは皆 オブジェクトを 画面上でドラッグすることに慣れています これからは 実際の空間のどこでも オブジェクトの移動や回転ができます SwiftUIでボリュームも作れます アプリのウインドウと一緒に置けて― 共有スペースの中で実行する時は ほかのアプリと並べられます SwiftUIのウインドウとボリュームは フルスペースの中にも置けて― 3DオブジェクトやSwiftUIの要素を ユーザーの部屋のどこにでも配置できます SwiftUIは 皆さんのアプリを素早く簡単に visionOSに導入できるだけでなく― 完全に没入できる体験を 描画することもできます SwiftUIは RealityKitを通して レンダリングが可能になったので― SwiftUIとRealityKitのAPIを 簡単に組み合わせることが可能です オーナメントやマテリアルや ホバーエフェクトなどの― UIの強化を活用できます オーナメントはウインドウやボリュームの端に UI要素を加えます ツールバーやメニューに最適です ホバーエフェクトはユーザーが見る場所に応じ UI要素をハイライトします これらのエフェクトは システムコントロールが自動的に取得しますが カスタムコントロールにハイライトかグローを 付けるかどうかは 皆さんが選べます マテリアルは ユーザーの周囲の環境に適応します ダイナミックブラーとバイブランスが― どんな状況でもアプリを読みやすくします ほかのプラットフォームと同様に― visionOSアプリの作成にも SwiftUIを使うことを推奨します UIKitで作られた既存のアプリは visionOS用に再コンパイルでき― オーナメントやホバーエフェクトや マテリアルを活用できて― ネイティブな見た目と雰囲気が得られます SwiftUIは visionOSで空間体験を作る フレームワークの1つにすぎません 皆さんの工程に役立つものを Edwinから もう少し紹介します アプリに動的な3Dモデルやアニメーションや 視覚効果のフルシーンを加える時には― RealityKitを使うといいでしょう 空間体験のレンダリング用に一から作られた Appleの3Dレンダリングエンジンです 私たちは RealityKitとSwiftUIを一緒に― 独立したフレームワークとして 2019年に導入しました Apple Vision Proでは これらが深く統合されているので― シャープで反応がよく ボリュメトリックな インターフェイスが作れます 3Dコンテンツは SwiftUIビューと状態に 紐付けでき― 2Dと3Dの視覚的要素を シームレスに組み合わせます RealityKitは 実際の光の条件に自動的に適応し― 床やテーブルに影を投影して 体験を現実的なものにします これで皆さんのアプリが 部屋に属するかのように見えます RealityKitには重要な新機能もあります Keynoteで見た恐竜のように 3Dシーンにポータルを作る機能や― 非常にシャープな文字を表示して 快適に読めるようにするものや― 美しい視覚効果を作れる カスタマイズ可能な素材システムなどです 更に Apple Vision Proでは レンダリングが より効率的になります ダイナミックフォビエーションという 技法によってです RealityKitは アイトラッキングを活用し― ユーザーが注視している領域を選択的に 非常に高い忠実度でレンダリングして― 周辺のコンテンツの レンダリング負荷を低減し― 皆さんのアプリがデバイスの処理能力を 最大限に引き出せるようにします RealityKitでは 3Dモデルの反射性や どれくらい金属的かなどの― 物理的特性を指定することで 息をのむほど写実的なレンダリングができます デフォルトでは RealityKitは― 実際の部屋の光の条件に応じて 仮想コンテンツをレンダリングします クリエイティブな意図に応じてリアルさを調整 あるいは拡張したい時は― イメージベースドライティング 通称IBLのアセットを提供して― 見た目に個性を与えられます マテリアルのオーサリングのために RealityKitは MaterialXを採用しました これは サーフェスやジオメトリシェーダーを 指定するオープンスタンダードで― 主要な映画や視覚効果や― エンターテインメントや ゲームの会社で使われています 業界をリードする様々な製作ツールが 幅広くMaterialXをサポートしていて― シェーダーを書くのが より一層 簡単になります MaterialXでは シェーディングプロパティを定義することで 個々のマテリアルをデザインし 素早く見た目を反復処理できます マテリアルのリポジトリから選ぶことができ― カスタムシェーダーの自作に使える HoudiniやMayaなどの便利なツールがあります
RealityKitは RealityViewという 新しいSwiftUIビューを提供します RealityViewは ウインドウやボリュームや スペースで使うことができ― 皆さんがコントロールするシーンのどこにでも 3Dコンテンツを配置できます Attachmentsもサポートし― 2DのSwiftUIビューを 3Dコンテンツに埋め込めます SwiftUIとRealityKitに加え― ユーザーの周辺環境を最大限に活用可能にする 3つ目のパワフルなフレームワークが― ARKitです ARKitは ユーザーの周囲の空間を理解し― アプリのコンテンツと部屋の 相互作用を可能にします 床に当たって跳ね返るボールや 壁に飛び散る水などです ARKitは 数々のコアシステム機能を動かす― visionOSの リアルタイムアルゴリズムをホストします これらのアルゴリズムは常時動作していて 皆さんのアプリがどのように作られていても 共有スペースで 自動的にARKitの恩恵を受けます 永続化とワールドマッピングは システムに任せられます セグメンテーションとマッティングと 環境ライティングは― 自動的にスペース全体に適応されます ユーザーの許可があれば ARKitの機能を 皆さんのフルスペースアプリで直接使えます フルスペースの中では アプリが 部屋と写実的に関われます これには ARKitの平面推定と シーン再構築と画像アンカーと― iOSのARKitと同じアンカーの概念を用いた ワールドトラッキングが使われます これにより 既存のARKitアプリの visionOSへの移行が簡単になります visionOSでは スケルタルハンドトラッキングも 利用できるようになります 手のトラッキングでアプリ体験のために カスタムジェスチャーを作ったり― デジタル情報で ユーザーの手を拡張することもできます ARKitはiOSに導入されたのと同じ骨格モデルに 関節の位置と向きを提供します SwiftUIとRealityKitとARKitの 統合されたアプローチにより― 皆さんは長年 Appleプラットフォームに 費やしてきた学習時間と投資を活用できます これには アプリのアクセシビリティを高める 皆さんの取り組みも含まれます 空間コンピューティングはアクセシビリティに すばらしい可能性を切り開くため― これは特に重要です Apple Vision Proでは 身体障がいや運動障がいのあるユーザーが― 目だけや声だけ または両方の組み合わせで デバイスを操作できます また ユーザーはVision Proの操作に― 人さし指や手首や頭を 代替ポインタとして選択できます visionOSで 皆さんのアプリをアクセシブルにするのに― ほかのプラットフォームで 長年 使ってきたのと同じ技法を使えます アクセシビリティインスペクタは 皆さんのvisionOSアプリを分析して― アクセシビリティの問題を報告し よりアクセシブルにする方法を提案します アクセシビリティのサポートが フレームワークに組み込まれているので 皆さんのvisionOSアプリと体験を 障がいのあるユーザーに届けるのは簡単です 例えば 視覚障がいのあるユーザーに アプリ内のオブジェクトを VoiceOverで説明するのを支援できます オブジェクトの外見などの情報を伝える ラベルや説明を加えることによってです ユーザー設定を組み込んで アプリを よりアクセシブルにする設計にもできます より大きな文字サイズのDynamic Typeや― より読みやすくする「透明度を下げる」― ヘッドロックコンテンツの代替案などです これらの使い慣れたAPIやツールを使うことで 皆さんのアプリは― 空間コンピューティングを世界中のユーザーに アクセシブルにするのに― 大きな役割を果たすでしょう 以上が すばらしいvisionOSアプリの 作成に使える― パワフルなフレームワークの紹介です 皆さんが使える全てのツールについて Thessaが説明します Vision Pro向けの アプリを作り始める時 フレームワーク以上のものに 気付くはずです 開発ツールもvisionOSに対応するために アップデートされました 私たちのほかの全ての プラットフォームと同様に XcodeはVision Pro向け開発体験の 中心にあります visionOSのdestinationを 既存のプロジェクトに加えられます または このプラットフォームの独自の性能に 特化した 全く新しいアプリを作れます アプリ作成の最初のステップは 2Dと3D 両方のコンテンツで 見た目を整えることです Xcodeプレビューにより エディタを離れず 迅速に見え方を検討できます アプリ全体のテストを始める時には アプリを実行し デバッグするための パワフルな環境を提供する シミュレータに移動できます キーボードやトラックパッドや 対応するゲームコントローラを使い シーンを動かして確認できます そして システムのジェスチャーを シミュレーションしてアプリを操作できます シミュレータは昼夜の光条件により― 3つの異なる シミュレーションされたシーンも提供し アプリの視覚化を助けます Vision Proを使った開発では デバイス上でアプリを作って実行し 動作を確認できます 皆さんの作業方法を変える この追加機能を紹介できることに とてもワクワクしています Macの仮想ディスプレイは Macの画面を見るだけで 最高画質の4K仮想モニターを Vision Pro内にもたらします デバイス内部から Macの全機能を使えます これにはXcodeも含まれます これはすばらしい エンドツーエンド開発体験です アプリのコーディングや テストやデバッグを― 中断したり情報を失うことなく 終始Vision Pro上でできるのです アプリのコンテンツが現実世界とどう関わるか 時には詳細を調べる必要があります アプリがユーザーの部屋と相互に関わる時 3Dコンテンツが視覚的に壁をすり抜けるなど― ユニークな課題が 発生することがあります Xcodeは3Dコンテンツに関わる コリジョンやオクルージョンや― シーン解析の検証を助ける 実用的なデバッグ視覚化を搭載しています これらの視覚化はシミュレータと Vision Proの両方で機能します visionOSアプリを進化させると より空間的に広がり 平面的なウインドウの枠から外に飛び出し かつてない3D体験をユーザーにもたらします これを正しく行うには 新しい視覚ツールが必要です ですから Reality Composer Proを 作りました Reality Composer Proは visionOSアプリ用の3Dコンテンツの― プレビューと作成を 可能にするアプリケーションです 3Dモデルやアニメーションや イメージや音などのアセットを インポートして整理できます Xcodeのビルドプロセスと緊密に統合し Vision Proでの使用のために アセットを最適化します コンテンツを簡単にVision Proに送り プレビューし 配置して 回転できます いつでも新しい変更を追加し 1行のコードも書かずに コンテンツがどう見えるか確認できます Jasonが説明します 太陽系に案内する サンプルプロジェクトに取り組んでいます 3DコンテンツがVision Proで すばらしく見えるようにしたいので Reality Composer Proを使って アップデートします まず 3Dモデル化アプリケーションで作った 人工衛星のモデルとイメージを取り込みます このモデルは多くのディテールを含みますが 現在 マテリアルはありません Reality Composer Proで カスタムマテリアルを作り それからカスタマイズできる Shader Graphに移動します 幾つかの単純なイメージと ファンクションノードを加えることで コードを書く必要なく オブジェクトの 見た目を変えるのは簡単で楽しいことです 色々と試して すぐに結果を見られます シェーダーを手動入力することによる コンパイラエラーは決してありません ほかのノードでも これを繰り返します いつでもVision Pro上で 自分の作業をプレビューできます 拡大して 動かして 回転させて 見た目や操作感が 希望通りか確認できます この変更が気に入りました Xcodeに戻ると 変更がプロジェクトに反映されていて Xcodeプレビューとシミュレータで 使える状態になっています これだけでコードで読み込み アプリで使用する準備ができます Reality Composer Proにより visionOSの開発プロセスは― Xcodeと連係する パワフルな新しいツールを持ち 3Dコンテンツのプレビューと作成は コードのビルドや実行と同じくらい簡単です アプリのベータ版テストを 行う準備ができたら 最初からVision Proで TestFlightを使用できます 皆さんの期待通り App Store Connectや XcodeやXcode Cloudを通じて― 新しいビルドを TestFlightに提出します テスターがそれらをインストールして ネイティブなTestFlightアプリから 有益なフィードバックを提供します 対応するiPadとiPhoneのアプリの ベータ版ビルドにも― Vision Pro上でアクセスできます XcodeからTestFlight そして Reality Composer Proまでの― 一群の開発ツールとサービスがあれば Vision Pro用のすばらしいアプリ作成への 道のりは順調です Mikeに戻します
多くの皆さんが長年 Unityで 3Dアプリとゲームを作ってきました 皆さんのアプリをVision Proに 導入しやすくするため AppleとUnityは緊密に協力し Unityのリアルタイムエンジンを RealityKitの上に重ねて 彼らの開発ツールがvisionOSを ターゲットにできるようにしました これはUnityで作られたアプリが ほかのvisionOSアプリと 共有スペースで共存できること― そして Apple Vision Pro独自の利点を 最大限に活用できることを意味します 詳しく説明するため UnityのRalphを紹介します ありがとう Mike visionOSとの深い統合のために Appleと協力できて 本当にワクワクしています これからはUnityの強力で馴染みある オーサリングツールを使って 新しいvisionOS用ゲームや アプリを作れます Unityで作った既存のプロジェクトを Vision Proに持ち込み この新しいプラットフォーム向けに 体験を再構築できます 皆さんのアプリは visionOSの全ての利点を得られます 高解像度パススルーや ダイナミックフォビエーション レンダリングなどを AR Foundationのような Unityのお馴染みの機能に加えてです UnityとvisionOSの深い統合により 皆さんのアプリは 共有スペースの ほかのアプリと並んで表示できます Unityのオーサリングと シミュレーション機能を― RealityKitの管理された アプリレンダリングと組み合わせれば Unityで作られたコンテンツの 見た目や操作感がvisionOSに馴染みます Unityを使えば 私たちのコミュニティや チュートリアルやテンプレートで 素早くスタートできます Apple Vision Proが― 空間コンピューティングの 新境地を切り開いたと信じています 皆さんが作る全く新しいアプリや ゲームを見るのが楽しみです どうもありがとう Ralph 一緒に仕事ができてすばらしいです 次のステップを計画する際 知っておくべき visionOSの基本的な機能があと幾つかあります Jeffが詳しく説明します Vision Pro向けアプリの作成に 使うフレームワークは 2つの目標を念頭に設計されました プラットフォームのパワフルな ハードウェアとソフトウェアを― 最小限の努力で活用することと ユーザーのプライバシーを守ることです アプリが周囲と調和する方法から― 自然なユーザーインタラクションや 共同作業の新たな可能性まで これらの原則がシステム全体で 機能していることが分かります visionOSはリアルな明るさと影を 可能にするために ユーザーの周囲の3Dモデルを作ります 結果として アプリはカメラのデータに アクセスすることなく― 周囲の世界に自然に溶け込めます visionOSはアプリ用の次世代の 空間オーディオを有効にするために― 同じ3Dモデルを使います 現実世界では 空間の中と周囲で音が反響し 人の耳に届く前に 壁や家具から跳ね返ります アプリの仮想音も 同じように動作するべきです これにはユーザーの周囲の 高度な理解が必要です visionOSの PHASE空間オーディオエンジンは 音響検知と3Dシーン解析を融合し 空間の音波特性の 詳細なモデルを作ります 音源とユーザーが環境の中で動くと PHASEがオーディオレイトレーシング シミュレーションを― リアルタイムでアップデートします このモデルは Appleのパーソナライズされた 空間オーディオ技術と組み合わせられ それぞれの個人と環境に合わせて 自動で体験を調整します このすばらしい複雑性は全て 皆さんのために管理され ユーザーの物理空間のいかなる詳細にも アクセスする必要はありません RealityKitを使い どこから音が 聞こえるのかを決定するだけで visionOSが現実世界に 自然にミックスさせます アプリのリアルな明るさや音声を 可能にするアルゴリズムのように visionOSへのユーザー入力は自動で機能し プライバシーを守るように設計されています
ホバーエフェクトは SwiftUIかRealityKitを使って作られた― どんなUI要素にも 自動的にレンダリングされます ユーザーがボタンを見ると タップする前にハイライトされます マウスのクリックや iPhoneのタップと同じように ユーザーが指同士をタップすると アプリに選択が通知されます ユーザーは 必要な視覚的フィードバックを得ます 皆さんはユーザーが タップする前に見た場所を知らなくても― 期待するインタラクションを受け取ります
共有と共同作業は Vision Pro体験の中心的な部分です macOSのように― Vision ProユーザーはFaceTime通話で ほかの人とアプリウインドウを共有できます SharePlayがあれば 次世代の共有体験が可能になります アプリがSharePlayと GroupActivities APIを採用すると 各ウインドウの上の共有コントロールに― アプリを起動するオプションが 通話中の全員に追加されます これにより全員がリアルタイムで 真の共有体験に一緒に参加できます 私たちのほかのプラットフォーム向けの SharePlayのように― アプリを共同作業にどう活用するか 決められます Vision ProユーザーはFaceTime通話中 ほかの参加者にはPersonaとして表示されます これは先進的な機械学習テクノロジーによって 作られる自然な表現で 表情や手の動きを同時に反映します Personaは ほかのVision Proユーザーから 3Dの立体感と奥行きがあるように見えます しかし私たちはFaceTimeを Vision Proで次のレベルに引き上げ― ユーザーがどこにいても 実際に同じ部屋に いるかのような交流を可能にしたいのです この体験は まだ初期段階で― ここで皆さんと初めて 共有できることにワクワクしています 空間Personaにより Vision Proユーザーは お馴染みのFaceTimeのタイルから飛び出し 同じ物理空間に集まっているように より身近に感じられます visionOSは ユーザーとアプリが― 共有された一貫性のある空間状況を 持てるようにします 皆さんのアプリはSharePlayで この新しい状況を活用できます アプリ内の変更を ユーザー間で同期させるだけでなく ユーザーの物理的な行動に 反応できるので― フリーボード上に一緒に立ったり 卓上ゲームの駒を動かすことが 自然に感じられます 皆さんのアプリが この驚異的な 新しい体験に加わることを期待しています 進化を続ける上で 皆さんのフィードバックが重要になります ですから今年後半 空間Personaの デベロッパ向けプレビューを公開します これらは visionOSで活用できる 豊かで幅広いテクノロジーのほんの一例です Lindaがここから先のことを話します Apple Vision ProとvisionOSを 紹介したところで この先について話します 皆さんの開発の旅が 今日から始まります Vision Proのための 設計や開発やテストを始めるにあたり ぜひ飛び込んでみて できる限り多くのことを学んでください visionOS SDKは アップデートされたXcodeと シミュレータとReality Composer Proと共に 今月後半に公開されるので アイデアに取りかかれます 更に 広範囲の技術資料や 新しいデザインキットとツールや visionOSのためにアップデートされた― ヒューマンインターフェイスガイドラインにも アクセスできます Vision Proシミュレータに加え― Vision Proでアプリが どう機能するか 確認するためのオプションがあります 今年の夏 Vision Proのハードウェアで アプリをテストできる― Apple Vision Pro developer labsを 開設します Vision Proがお客様に リリースされる前に― 実践的なサポートを受け 皆さんのアプリ体験をプレビューできます これらのdeveloper labsは― クパティーノのDeveloper Centerを含む 世界各地の数か所に開設されます そして 皆さんがどこにいても アプリとVision Proの互換性を 評価するためのリクエストを提出できます 皆さんのアプリをインストールして 私たちが見つけた問題を共有します
これらのすばらしい機会について 更なる最新情報を得るには デベロッパ向けウェブサイトに アクセスしてください もちろん Vision Proは 全く新しいApp Storeと共に登場するので 人々は 皆さんのすばらしいアプリを 見つけてダウンロードできます このプラットフォーム向けの アイデアを共有してください 皆さんのアイデアを形にするのを 私たちはサポートし続けます Darinに戻します 何とエキサイティングな年でしょう visionOSによるすばらしい可能性 各プラットフォームの 多くの思慮深い追加機能 例えば アプリをWidgetKitで表示させる より多くの場所 連係カメラの拡張 そして watchOSの新しいデザイン 更に マクロとSwift Dataによる Swiftの大幅な強化 そして Xcodeプレビューの 大きなアップグレード 言語とフレームワークとツールと サービスにわたる今年の進化は 私たちのプラットフォームの 何十億ものデバイスに向けて― 皆さんが独自の体験を提供するための 深い取り組みを示しています これらのプラットフォームは ますます多様化する製品群にまたがり デベロッパとユーザーの皆さんに変化を もたらすほどの一貫性と統合性を備えています 私たちのプラットフォームの最新情報を なんとか 少しだけ伝えられました 更に詳しく伝えるために 175の詳細なビデオセッションがあり visionOSだけで40あります 更に Appleのエキスパートが常駐する 200以上のラボで すばらしいアプリを作る上での 熱意ある質問に答えます Appleデベロッパになる 最高のタイミングです 皆さんが作るものは間違いなく ユーザーを驚かせ 喜ばせることでしょう すばらしいWWDCを! ♪ ♪
♪ ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。