ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Shared SpaceにおけるiPadとiPhoneアプリの実行
既存のiPadやiPhoneのアプリはVision Proでも実行できます。iPadOSやiOSがこのプラットフォームでどの様に動作するのか、Desinged for iPadについて学びましょう。そして、みなさんのアプリをvisionOSで強化するのに利用可能なパスを見ていきましょう。
関連する章
- 1:54 - Built-in behaviors
- 4:01 - Functional differences
- 10:03 - Choose your experience
リソース
関連ビデオ
WWDC23
-
ダウンロード
♪♪ ♪ こんにちは! Kellieです Platform Compatibilityエンジニアです iPadOSとiOSは パワフルなプラットフォームです みなさんは既にこれらの プラットフォーム用のアプリを いくつも作ったと思います 今度は同じアプリを非常に簡単に Appleの最新プラットフォームで 実行できるようになりました iOSアプリの大半は 見た目も 使い勝手も非常に良く 問題なく直ぐに使えます 例えば iPadのカレンダーアプリが シミュレータで 修正無しで実行されている様子を 見てください 見た目も感覚も まさにiPadと同じで すべてが予想通りに機能しています 異なるタイムラインもありますし 特定のイベントの 詳細を見るズームもあり 新イベントの追加もできます
そしてマップですが これはiPad版を 実行しているもので あとで話すレコメンデーションに 従っています 地球を思いのままに回せます 特定の場所を探して…
…名所を訪れたりもできます
この動画では この新プラットフォームでの iPadとiPhoneのアプリを 紹介していきます 最初は アプリに標準として採用される ビルトインのビヘイビアについてです
次に 注意したいアプリの機能的違いと それに対する対処方法について話します 最後に みなさんのアプリへの期待にとって Designed for iPadでの体験が 最適であるかどうか 判断する方法について話します
この新プラットフォームは iOSを土台に構築されました システムサポートを追加して 共有bedrockを強化しました この2つの組み合わせで みなさんのアプリは 何を変更する必要も無く きっとスムーズに実行されるでしょう! iPadとiPhoneのアプリは このデバイスでは ウィンドウとして 簡易モードで表示されます システムは アプリのiPadバリアントの ランドスケープ表示を好みますが アプリがiPhoneのみをサポートする場合は システムはiPhoneの縦横比に従い ポートレイト表示をします アプリが複数の 方向表示をサポートする場合は ウィンドウの右上のコーナーに 画面回転ボタンが 表示されるので 自分の好みに合わせて 各シーンの向きを変えられます アプリのコーナーを掴むと システムは 縦横比を保ったまま ウィンドウのサイズを変更します サイズが最大または最小になると それを伝えるために コーナーが弾みます スケーリングはシステムが管理するので アプリはこのサポートを 標準で受ける事になります このデバイスではコンテンツと 自然な入力方法でインタラクトします 何かを見て 指をタップで合わせたり コンテンツに近づき 直接触ったりして選びます Bluetoothのトラックパッドや ゲームコントローラも使えます システムの定義する これらすべての インタラクション方法は 既にアプリに馴染みのイベントを 送ってくるので みなさんが既に使っている イベントハンドリングの技術を そのまま利用し続けられます Document Managerや写真ピッカーなどの システムビューは システムアピアランスとマッチして 見た目も感覚も アプリがプラットフォームに 馴染み易くなっています アプリがTouch IDやFace IDを サポートしている場合は LocalAuthenticationが自動的に Optic IDを通してそれらの実装を送るので みなさん側で何もしなくても アプリは最先端の認証テクノロジーを サポートするようになります ですが このプラットフォームには iOSとは違う点が少しあります このデバイスでのアプリは 縦向きと横向きでの表示が可能です これはiPadでも同じですね ですがiPadとは違い デバイス全体を回転させているという 概念はありません デバイスの向きは アプリの方向に情報を送らないので アプリの新しいシーンに どちら向きが好まれるのか 特定しておく方がいいでしょう システムの画面回転ボタンで あとからシーンを回転させる事もできます どちらを好むかの表明には アプリのInfo.plistに UIPreferredDefaultInterface Orientationの 新しいキーを追加します キーを付与しないと システムはデフォルトの向きを 使用する事になります このキーはこのプラットフォームに 特有のものなので ほかのプラットフォームには影響しません このデバイスで特別の意味を持つ plistキーがほかにもいくつかありますが 新しいものではありません システムは UISupportedInterface Orientationsを使って アプリのウィンドウに画面回転ボタンが 必要かどうかを決め アプリがこの新デバイスと 互換性があるかどうかを決めるのに App Store Connectは UIRequired DeviceCapabilitiesに頼ります 適切だとされたアプリはすべて自動的に App Storeで入手可能になります アプリがこのデバイスで利用不可能な 特殊機能に依存している場合や このプラットフォームに相応しくない 理由がある場合は アプリの入手可能性を App Store Connectで 管理できます その詳細については 「Explore App Store Connect for spatial computing」を見てください 必要な場合は Info.plistに キーを追加するか 既存の値が現在も正確かつ最新である事を 確認してください このデバイスでは ジェスチャは異なる働きをしますが それは人々が目と手を使って コンテンツとインタラクトするからです 右と左の手は別々のタッチなので 同時入力は最大で2つになります 2つ以下のタッチを予想する システムジェスチャはすべて シームレスに機能します カスタムのジェスチャ認識装置も サポートされていますが 自然な入力の予測によって スムーズに実行されるためには アップデートが必要かも知れません 最もアップデートされた フレームワークの例がARKitで 著しく進化し これまでに無く パワフルになっています 新しいAPIと体験を 真っ新な状態からデザインして プラットフォームアーキテクチャの 基本的な違いや プライバシーへの期待を考慮しました つまり 既存のARViewsやARSessionsは このデバイスでは iPadやiPhoneと同じようには 動かないという事です そのために 「Re-imagine your ARKit app for spatial experiences」の動画で このプラットフォーム用に アプリを再構築する事により 利用できるようになる新しいARKitの 全機能について 確認してください このデバイスの位置情報サポートは iPadと似ています Wi-Fi経由でおおよその位置を出すか iPhoneの情報が共有されます 詳細については 動画 「Meet Core Location for spatial computing」でどうぞ Look to Dictateは便利な新しい入力方法で 目と声のみを使って 素早くアプリを ナビゲートできるようになっています 有効の時は 検索バーのルーベが マイクのアイコンに取って代わられ マイクを見て話しかけるだけで 検索ができます
このAPIは検索バーに提供されています このプラットフォームで実行される iPadとiPhoneのアプリでは デフォルトでは無効になっていて みなさんが そのビヘイビアを検証し どこで有効にしたいかを 決められるようになっています また iOSとiPadOSではno-opなので プラットフォーム別にサポートを 条件付けする必要もありません SwiftUIでLook to Dictateを 有効にするには .searchDictationBehavior()の修飾子を 検索可能なビューに追加します UIKitの検索バーでは isLookToDictateEnabledをtrueにします これらの変更すべてに 対処するのに最適な方法は いつもの方法と同じで 利用可能性のチェックを行う事です 疑問を投げかける前に フレームワークがサポートされている事を 確認しましょう 多くのフレームワークは それらの機能がビルトインで 非常に便利になっています 特定のハードウェアに依存する 設定にアクセスする場合も 同様の事をしましょう 例えば ヘッドセットのカメラは iOSデバイスの前後カメラよりも 数多くありますが アプリがそのすべてを 使えるわけではありません カメラが存在しサポートされている事を 使う前に確かめましょう この習慣で アプリはこのデバイスに加え すべてのデバイスで 健全になります これは このプラットフォームでの フレームワークの進化の ごく一例です 非常に成長したフレームワークもあり このデバイスに特化した ビデオを持つものもあって 例えば SwiftUIやARKitやRealityKitです 残りのフレームワークの大半は これまで通り機能し 少し捻りを加えれば採用できます 修正されたフレームワークについての 詳細情報は デベロッパ用のドキュメンテーションで 見てください アプリに必要なコード変更が分かったので 実行に移す準備は万端ですね xrOS SDKがインストールされると Xcodeが自動的に xrOS Device (Designed for iPad)を iOS SDKを使うプロジェクトのための Supported Destinationsへと追加します Schemeが別のプラットフォーム用か あるいは SDKにはautoの場合は 手作業で Designed for iPadの ターゲットが追加できます それが設定されれば 一致する名前の実行先が destinationピッカーに出てきます そのターゲットを選択し ビルドして 実行します これだけで完了です! iPadとiPhoneのアプリは このデバイスにおいて 素晴らしい体験を与えてくれます 大半のアプリは 何も変更が必要なく それは拡張された システムサポートのおかげです iOS SDKに対応したアプリに専念するか xrOS SDKに対応したアプリを再構築するかは みなさんのゴール次第です 先述の通り それぞれのSDKで利用可能な フレームワークは異なりますし それぞれのフレームワーク内で サポートされる機能も 異なっています ここで強調しておきたいのは iOS SDKでしか利用できない 主要な機能が2つある事で それは SpriteKitとstoryboardsです このどちらかのテクノロジーが アプリに統合されている場合は iPad用アプリのデザインに 専念しなければなりません iPadとiPhoneのアプリは ウィンドウで表示されて iPadでのライトモード表示と同じです シドニーオペラハウスにズームインした マップはこのようになります コンテンツはウィンドウの端まで 広がっていますが その枠を越えて表示される事はなく 色もiPadやiPhoneの マップのライトモードと すべて一致しています xrOS用にデザインされたアプリは 没入型空間体験の 次のレベルの扉を開いています ARKitやRealityKitのような いくつかのフレームワークは このプラットフォーム用に デザインされたアプリだけが 利用できる機能を進化させました ほかの動画や ドキュメンテーションを参考にして これらのアップデートによって実現された 新体験のすべてを詳しく見てください ウィンドウに加えて このデバイス用にデザインされたアプリは ボリュームもサポートしていて 3Dオブジェクトを中に表示するコンテナは コンテンツに合わせたサイズになり また 没入型体験のための Immersive Spacesもサポートします ヘッドセットで見たKeynoteの リハーサル空間がこちらです パススルーやほかのアプリを隠す事で Keynoteは完全な没入感を与え 発表者は自分のプレゼンテーションに 集中できます ヘッドセットでもシミュレータでも このプラットフォーム用にデザインされた アプリのシステムはルック&フィールです 背景はガラス素材なので 人々に周囲の様子を伝えられ 色のバランスとコントラストを 動的に調整して 読み易さを促進します 新しいOrnament APIも活用できます 「写真」の左のタブバーや したのボタンの様に ウィンドウの側面のornamentアンカーで その機能を強化できます また これでウィンドウ内に アプリが描けるスペースが増えます ornamentが使われるのは 往々にして ナビゲーションやツールバーです xrOS用のデザインがピッタリなアプリは 没入型体験を作るものや 新しいフレームワーク機能を採用するものや ルック&フィールのシステムに 一致するものです アプリの既存の体験を維持したい場合は iPad用にデザインするのをお勧めします このプラットフォームは iOSやiPadOSと 共通の土台を持つので どのSDKを選んだとしても そのプラットフォームで行う作業は このプラットフォームでの体験に 役に立ち続けるでしょう この新プラットフォーム用デザインが 自分のアプリに最適だと結論づけた方には 「Meet SwiftUI for spatial computing」と 「Meet UIKit for spatial computing」の両動画が 非常に良い足がかりとなるでしょう 次のステップは みなさんのアプリを この画期的な新プラットフォームで 試してみる事です! 何のコード変更を行わなくても 大半のアプリは機能します 先ほど説明した 互換性の分野には 特別な注意を払いましょう Info.plist 設置が最新である事を確かめ 自分が興味のある新プラットフォームの 体験を選んで参加し フレームワークを使う前に そこに依存性があるのかどうか 確かめましょう それが全部済んだら 「Enhance your iPad and iPhone apps for the Shared Space」を見て 自分のiOSアプリをこのデバイスに 馴染ませる方法を学んでください ご視聴ありがとうございました みなさんのアプリをこのプラットフォームで 試してみるのが楽しみです ♪
-
-
4:37 - Default orientation Info.plist key
UIPreferredDefaultInterfaceOrientation
-
5:03 - Supported orientations Info.plist key
UISupportedInterfaceOrientations
-
5:13 - Required capabilities Info.plist key
UIRequiredDeviceCapabilities
-
7:59 - Look to Dictate enablement
// SwiftUI @State private var searchText = "" var body: some View { NavigationStack { Text("Query: \(searchText)") } .searchable(text: $searchText) .searchDictationBehavior(.inline(activation: .onLook)) } // UIKit let searchController = UISearchController() searchController.searchBar.isLookToDictateEnabled = true
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。