ハイライト
Swift Playgrounds の Mac バージョンでは、同じ Playground Book で iPad と Mac の両方をカバーできるため、作成者は
supportedDevices、requiredCapabilities、クイック ヘルプ、ターゲット環境の検査、システム カラーにより、両方のタイプのデバイスのエクスペリエンスが調整されます。
主要内容
Swift Playgrounds は、多くの人に iPad 上の Swift を最初に紹介しました。 2020 年には、同じアプリが Mac Catalyst とともに Mac に登場します。問題はさらに具体的になります。もともとタッチ スクリーン用に作成された Playground Book が、キーボード、マウス、ウィンドウ ツールバー、およびさまざまなシステム設定を備えた Mac 上に配置されます。テキスト、ボタン、コード補完、ライブビューのレイアウトはすべて、不適切な場所に公開される可能性があります。
Apple はこのセッションで質問をいくつかのカテゴリーに分類しました。最初のカテゴリは学習体験そのものです。Mac のコード補完には、トークンのクイック ヘルプを表示できる新しい拡張可能な領域があります。 iPad では、これらの説明はクイック ヘルプ ポップオーバーと元のコード補完バーにも表示されます。作成者がトリプルスラッシュのドキュメントコメントを宣言とパラメータに追加している限り、学習者はコードを入力するときにより明確な指示を確認できます。
2 番目のカテゴリは、配布と運用条件です。 Playground Book ドキュメント形式が追加されましたsupportedDevicesそしてrequiredCapabilities2 つのオプションのキー。前者は、書籍が iPad、Mac、またはその両方をサポートするかどうかを決定します。後者は、ARKit、マイク、Wi-Fi などの機能を使用してデバイスをフィルタリングします。このようにして、著者は可能な限り多くのデバイスをカバーし、特定のハードウェア機能に実際に依存する章のみを制限することができます。
3 番目のカテゴリは、クロスプラットフォームの詳細です。講演でのタートルのデモでは、Mac 上のカラー ポップアップとクイック ヘルプを紹介し、iPad 上のダーク モードと AR ボタンを確認します。固定の使用により、ダーク モードでは白い背景がすぐに粗く見えます。UIColor.white;システムの背景に切り替えた後、インターフェイスはテーマの変更に従います。この例は、Playground Book が同じページを 2 つのデバイスに配置するだけでは終わらないことを示しています。作成者はコピーライティング、システムカラー、安全領域、アクセシビリティをチェックする必要があります。
詳細
コード補完に教育指示を引き継がせる
(01:03) Mac 用 Swift Playgrounds のコード補完領域を拡張して、各トークンのクイック ヘルプを表示できます。クイック ヘルプ テキストはローカライズでき、パラメータも説明できます。講演者は、ステートメントの真上に 3 つのスラッシュを置き、パラメータに説明を追加するという書き方を明確に示しました。
キーポイント:
- トリプルスラッシュのドキュメント コメントが Mac の拡張コード補完領域に入ります。
- 同じ説明が iPad のクイック ヘルプ ポップオーバーとオリジナルのコード補完バーにも表示されます。
- 学習者がエディターから離れることなく内容を理解できるため、教育コンテンツに適しています。
changeTurtleEyesこのようなカスタムメソッド。 - Playground Book が多言語ユーザーを対象としている場合、クイック ヘルプの説明もローカライズ プロセスに含める必要があります。
マニフェストを使用してサポートされているデバイスを制御する
(01:46) Playground Book ドキュメント形式には、2 つのオプションのキーが追加されます。supportedDevicesそしてrequiredCapabilities。書籍が特定のプラットフォームにのみ適している場合は、書籍レベルのマニフェストに記述して JSON をフィードできます。supportedDevices。有効な値は次のとおりですiPadそしてMac。
キーポイント:
- 書籍レベルのマニフェストとフィード JSON の両方に、同じサポート対象デバイス情報を記述する必要があります。
・同時申告
iPadそしてMac、本は両方のプラットフォームで表示されます。 - からの場合
supportedDevicesから削除されましたMac、その本は Mac フィードに表示されません。 - このメカニズムは、iPad インタラクションのみに依存するコンテンツなど、書籍全体のプラットフォーム境界を処理するのに適しています。
デバイス制限を機能制限に置き換えます
(02:44) Apple は、できるだけ多くの構成をサポートすることをお勧めします。多くのコンテンツは、プラットフォームを直接除外するのではなく、単に特定の機能をチェックするだけで済みます。requiredCapabilities使用できますUIRequiredDeviceCapabilitiesARKit、マイク、Wi-Fi などの の値。
キーポイント:
requiredCapabilitiesまた、書籍レベルのマニフェストとフィード JSON の両方を入力します。- 例の本にはマイクと ARKit が必要です。デバイスがこれらの機能を満たしていない場合、表示されません。
- このアプローチは、単に書くよりも優れています
supportedDevicesMac と iPad の違いは特定のハードウェア機能に起因することが多いため、より詳細に説明できます。 - 特定のページでのみAR機能が利用できない場合、機能やプラットフォームに応じて他のページを残し、AR入口を非表示にすることができます。
同じ書籍をプラットフォームごとにクロップする
(03:17) 講演者は、プラットフォームごとに機能が異なる場合でも、できるだけ多くの構成をサポートすることが最善であると強調しました。 Playground コンテンツは、ターゲット環境を通じて現在 Mac 用または iPad 用にコンパイルされているかどうかを判断できます。 Mac ユーザーをタッチ スクリーンのコンテキストに誘導しないように、コピーもチェックする必要があります。
キーポイント:
- ターゲット環境で確認すると、同じ書籍でも iPad と Mac で異なる体験ができる場合があります。
- コピーライティングをお勧めします
tapまたはselectこのような一般的な単語は控えめに使用し、特定のプラットフォームにのみ適した単語は控えめに使用する必要があります。clickまたはtouch。 - Mac には必要な ARKit 機能がないため、デモの AR ボタンは非 macOS 環境でのみ表示されます。
- このプルーニングにより、書籍の同じ配布パスが維持され、プラットフォームごとに個別のコンテンツを維持するコストも削減されます。
システムカラーとライブビューセーフゾーンを尊重する
(03:45) クロスプラットフォーム コンテンツもデバイス設定に応答する必要があります。ラベルやシステムの背景などのシステムが提供する色は、ダーク モードやシステムのアクセント カラーに自動的に適応します。著者は、カスタム アダプティブ カラーを本のアセット カタログに追加することもできます。
キーポイント:
- デモでは、固定色は問題が発生しやすい
UIColor.whiteiPad ダークモードで突然白い背景を作成します。 - システムの背景に切り替えた後、ページはライト モードとダーク モードの間で切り替わります。
- ライブビューの安全エリアには特別な検査が必要です。 Macのライブビューの右上にはツールバーボタンがあり、iPadとは安全領域が異なります。
- 古いコードがプレイグラウンド ライブ ビュー セーフ エリア コンテナーを使用している場合
liveViewSafeAreaGuideでは、代わりに標準の UI レイアウト ガイドを使用して安全なエリアにアクセスできるようになりました。
重要ポイント
-
クロスプラットフォーム プログラミングの教科書を作成: Swift の入門演習セットを Playground Book に作成し、マニフェストとフィード JSON で iPad と Mac の両方をサポートします。価値があるのは、学習者がタッチスクリーンまたはデスクトップ環境で同じコースを継続できることです。まずは各ページのコピーをチェックして、
click、touchこのようなプラットフォームの単語は次のように変更されます。tapまたはselect。 -
能力フィルタリングを備えた AR 練習ページを作成: 通常のページを iPad と Mac の両方で利用できるようにし、ARKit をサポートする iPad でのみ AR ポータルを表示します。やる価値がある理由はセッションが明確に推奨されているからです
requiredCapabilities特定のハードウェア要件をカバーします。まず、ARKit を書籍レベルのマニフェストとフィード JSON に追加し、ターゲット環境を使用して Mac で AR ボタンが非表示になっているかどうかを確認します。 -
ローカライズされたコード補完教育カードのセットを作成します: カスタム タートル メソッド、パラメーター、練習用 API のトリプル スラッシュ クイック ヘルプを作成し、さまざまな言語の説明を準備します。これを実行する価値がある理由は、Mac の拡張可能な入力領域と iPad のクイック ヘルプ ポップオーバーの両方にこれらの手順が表示されるためです。最初に、学習者がつまずきやすいトークンを 5 つ選び、短い文で説明を加えます。
-
ダーク モード承認ページを作成します: ライト テーマとダーク テーマで各ライブ ビューを実行し、固定された白い背景、間違ったアクセント カラー、ツールバーで覆われたコントロールを見つけます。これを実行する価値がある理由は、デモの白い背景の問題が iPad ダーク モードに切り替えた後でのみ明らかになるためです。まず、ラベル、システム背景、またはアセット カタログの固定カラーをアダプティブ カラーに置き換えます。
-
リリース前のプラットフォーム チェックリストを作成する: Playground Book をリリースする前に、クイック ヘルプ、サポートされているデバイス、必要な機能、ターゲット環境ブランチ、セーフ エリア、補助機能を 1 つずつ確認します。これを実行する価値がある理由は、セッションを終了すると、これらの項目がクロスプラットフォーム プレイグラウンド コンテンツのコア チェックとしてリストされるためです。まず、Mac と iPad の両方で同じページを実行して、双方で一貫性のないインタラクションとレイアウトを記録します。
関連セッション
- Swift Playgrounds で SwiftUI ビューを構築する — Swift Playground で SwiftUI ライブ ビューと Xcode 互換のプレイグラウンドを作成する方法を引き続き確認します。
- Xcode Playgrounds でパッケージとプロジェクトを探索する — Xcode Playground、リソース、および Swift パッケージが迅速な実験をどのようにサポートするかを学びます。
- Mac Catalyst アプリのインターフェイスを最適化する — インターフェイスを適応させ、Mac 上でクロスプラットフォーム コードを整理するための Mac Catalyst アプリのアプローチを補足します。
- Mac Catalyst のアクセシビリティ設計 - Mac Catalyst と iPad のキーボード、マウス、およびアクセシビリティの違いをさらに詳しく調査します。
- 教育の最新情報 — Apple の教室、評価、コース統合ツールについて、教育シナリオの観点から学びます。
コメント
GitHub Issues · utterances