ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Xcodeの最新情報
Xcode 14における最新の生産性とパフォーマンス向上をご覧ください。設計が一新されたSwiftUIキャンバスエクスペリエンスを紹介し、コード補完とナビゲーションの強化、開発プロセス全体で行われたパフォーマンス向上について解説します。また、Xcodeを終了することなく、TestFlightビルドに関するフィードバックを読み込み、対応する方法についても解説します。
リソース
関連ビデオ
WWDC22
-
ダウンロード
♪ 落ち着いた雰囲気の ヒップホップ音楽 ♪ ♪ こんにちは Jonathon Mahです 私はLisa Xiaoです Xcode 14 の最新情報を 二人でお伝えします 本日はソース編集と SwiftUI プレビュー マルチプラットフォーム App TestFlight フィードバック パフォーマンス改善を含む Xcode 全体での新機能や 改善について お話しします では早速始めましょう 最初に気づくのは 開始時間が かなり短縮されたことです Xcode 14 は30% 縮小されました ダウンロードと インストール速度が増加し 追加のプラットフォームや シミュレータを オンデマンドで ダウンロードできます すぐに必要な場合は ここで取得できますし 最初に使用する時でも 構いません
現在 食品配達App 「Food Truck」の作成中です
ライブプレビュー付きの SwiftUI は優れた ワークフローですが さらに改善されました プレビューキャンバスが デフォルトでインタラクティブになり 変更を加えた瞬間から ライブになります キャンバスには コードを書かずに 各プレビューの追加の変数を 作成するための 新しいコントロールが できました 配色や文字サイズ デバイスの方向性を 変更することができ すぐに各シナリオの インターフェースを 確認できます 各ダイナミックタイプの サイズで ビューがどう表示されるか 見てみましょう
隣り合わせで ビューを確認できるので インターフェースを検証し 適切であることを 確認しやすくなります 大きいサイズを 見てみましょう
最初のアイコンは 非常に幅広く テキストの折り返しが 不自然です 幸運なことにデザイナーに 変更を頼まれましたが 変更できるのは ヘッダーのみです CardView はヘッダー向けの 異なるアイコンを まだサポートしていません ですのでその機能を まず追加します 実装に切り替えます
ヘッダーとコンテンツ要素は 同じ画像を使用しています ヘッダー専用の別の画像 プロパティを追加しましょう
ほとんどのカードでは どちらの場所にも同じ画像が 使われています 既存の呼び出しを それぞれ更新する代わりに カスタム初期化子を追加し 時間を節約します
初期化子を入力し始めると Xcode 14 は配列を 予測します カスタマイゼーションに デフォルト値を 開始点にすると 時間を かなり節約できます これは Codable でも 使える方法です headerIcon パラメータに デフォルト値をつけます
ここで CardStack ビューに戻り この新しい機能を使用します
カレンダーシンボルを使うよう デザイナーから言われました 現在ライブラリにはすべての SF シンボルが含まれており 正しいシンボルかどうかを 確認しやすくなりました
を押して 適切なコードを入力し このシンボルを使用します
シンボルの外観は最適です プレビューバリアントの 隣り合わせの比較により ユーザーが選択した すべての設定が揃い Appの外観が良いかどうか 確認しやすくなりました 初期化子と Codable の定義に加え Xcode 14 の推奨は よりインテリジェントになり アイデアをすばやく簡単に 書き込めるようになりました もう少しお見せしましょう
別の CardView を 追加し始めると 初期化子が直接完了リストに 表示されるようになりました headerIcon は デフォルト値であるため イタリック体になっています 今完了を承認すると headerIcon ラベルが 含まれなくなります 追加したばかりの デフォルト値が使用されます ここでまたアイコンを 特別化します オプトインするために 名前の一部を入力します
新しいカードに 新しい値をつけます
新しカードの前に ディバイダをつけます VStack にディバイダを 追加すると 全幅の線が追加されます
線を目立たなくするために フレームを使い 最大幅を設定します
フレーム修飾子には複数の 引数のオプションがあります 新しい完了機能では 必要な引数だけを スナップすることが できます
これが Xcode 14 の コード補完です 最初のカードのタイトルは 方法論から来ます すべての数字を正確に 処理していないと聞きました どのように実装されているか 見てみましょう コマンドクリックして 「Jump to Definition」を選択
再設計された定義リストは 各結果の違いを 強調表示するため 必要なものをすばやく 選択できます text(for:) 方法論は プロトコルからのものなので 複数のオプションがあります リストには方法論を定義する 特定のタイプが表示されます プロトコルからの宣言と 2つの実装があります サーバー支援の実装に 移動します
このクラスは 正規表現リテラルを使い 構文解析を実装します Swift 5.7の新機能です
同僚から 単体テストで問題が生じたと 聞きました 実行してみましょう
確かに失敗しています では見てみましょう
イベント数の抽出で 問題が起こったようです この関数の呼び出し方法を 見てみましょう コマンドクリックすると この方法論の呼び出し元を 直接開くことができます 定義リストと同様に 呼び出し元リストは この方法論の呼び出しを 含んだ 異なるファイルや関数と 各呼び出しサイトの プレビューを表示します
これが失敗した テスト方法論の呼び出しです プレビューでは テストは「0 records」の ストリングをパスしており 問題のヒントを提供してくれ バグを 見つけることができます 正規表現では1~9の数字で マッチングしますが 0を含むのを忘れていました これを修正するには 文字範囲を0~9にするか より描写的な 数字文字クラスに 切り替えます
まだ何かおかしいようですが コンパイラがその理由を 教えてくれます 正規表現は Swift 5.7 で 最高の機能です コンパイラは 他のコードで行うように 正規表現を確認し Xcode は入力ミスを すぐに強調表示します 表現を修正すると 次の2つのことが起こります 正規表現の構文が 強調表示され 編集を確認し エラーは グレーに調光します
この新しい調光は Xcode が診断を 再評価していることを 示します 一時停止すると ファイルは再処理され Xcode はエラーが 修正されたことを確認します この調光は長い構築でも 起こるので どの問題が 最新のものであり どれが過去のビルドのものかを 確認できます ではテストに移ります
これで直接呼出しに 移りました 現在テスト方法論の最中です エディタの最上部を ご覧ください Xcode 14 はスクロールして ビューから見えない場合でも 視覚可能なコードを含む 定義を示しています
上部のテストダイヤモンドを 使用して再テストします
すばらしい すべての テストをパスしました Xcode 14 では 新しいコード補完を使って すばやくコードを書き SwiftUI プレビュー バリアントで滑らかに設計し 改善されたエラー提示で より良い情報を得て 「Jump to definition」で 自信を持って移動できます 次はLisaがお話しします Jonathon ありがとう ビルドパフォーマンス改善に ついて見てみましょう Xcode がフレームワーク Appなど 複数のターゲットをビルドする場合 最初にフレームワーク ソースを収集します 次にモジュールを生成し Appへのリンクと 収集を可能にします 次にAppにリンクし 構築を完了します Xcode 14は Swiftモジュールを生成し 改善された 並列処理で構築を再配列します 構築タスクのブロックを 解除して並列処理を増やし マシンの同時使用を 尊重しながら 重要なすべてのビルドの パスを縮小します しかしそれだけでは ありません 改善された並列処理を通じて リンカーの速度が 2倍になりました 総合的にXcode 14は コアを最大限に活用した マシンで プロジェクトの構築が 25%速くなり 最大の改善が見られています ビルドのスケジュールが 改善されていても プロジェクトによっては 長い同期タスクでは 内部依存が起こります 可視性がなければ これが起こっていることを 認識しにくくなります 幸いにも Xcode 14では それが含まれています すべての ビルドログや結果バンドルで 新しいビルドタイムラインを 確認できます 予期していなかった 長時間のタスクや ボトルネックの特定に 役立ちます こちらは「Food Truck」の ビルドタイムラインです スクリプトフェーズが ビルドを単一のコアに 制約していることが わかります 新しいビルド タイムラインでは 重要なインサイトや ビルドの パフォーマンス機会を 特定することができます 並列処理ビルドや 新しいビルドタイムライン そして リンキングの詳細は 「Xcodeビルドでの 並列化に関する解説」や 「高速リンク:ビルドと起動時間の改善」を ご覧ください Xcodeでの並列テストは テストをより速く実行できる すばらしい方法です Xcode 14ではさらに それが改善されました 先ほどお見せしたように 同じ技術を使用して ビルドパフォーマンスを 改善します Xcode 14はターゲットと テストクラスの間の 依存関係を排除し テスト中の並列が さらに改善されました 異なるテストクラスやターゲットで 長期間テストを 実行している場合 この機能を使用すれば テスト実行時間を 最大30%改善できます テスト速度と信頼性の 改善については 「Xcode Cloud用の 高速で信頼性の高い テストを作成する」を ご覧ください 構築やテストに加え 配信向けの macOS Appの準備も スピードアップしました Xcode 14では公証が 4倍速くなりました Interface Builderを 使用するプロジェクトには さらにいいニュースが あります ドキュメントの読み込みは 最大50%速くなり デバイスバーでの iPhoneとiPad間の 切り替えは 最大30% 速くなりました キャンバス編集の操作は インクリメンタルで 目にしているシーンを 優先するため 大型の ストーリーボードでも すぐにフィードバックを 得られます Xcode 14は速度が上がり 使いやすさも改良されました お見せしましょう Xcode 14はAppを 異なるプラットフォームに 展開するのを容易にします 単一のターゲットを使用して Appを定義し サポートしたいプラットフォームを リスト付けできます これにより設定とファイルを 同期する必要がなくなり 各プラットフォーム固有の特徴を 説明するだけで済みます 「XcodeでマルチプラットフォームApp を開発する」を見て プロジェクトで この機能をご活用ください Appを小さくするツールも あります メモリデバッガはAppの リークを調べるのに最適です ルートオブジェクトから ライブオブジェクトまで 最短のパスに 照準を合わせるので リークの理由を調査することが できます Xcode 14ではこれらの 機能が拡張されており すべての参照経路を オブジェクトの 隅から隅まで 確認することができます リークの詳細な説明に加え オブジェクトの合計重量を 測定できるようになりました Xcode 14では Swift Package プラグインで Xcode自体を 拡張することができます パッケージでは リンカーやフォーマッタのような コード配置の処理を行う プラグインとの連携が できるようになり プロジェクトナビゲータから 直接呼び出すことができます また コードを生成する ビルドツールを統合したり ビルド中にリソースを 処理することができます 例えば ビルド中 遠隔手続き呼び出し インターフェースの 大まかな説明を 低レベルのグルーコードに 変換できます またビルド中にリソースの 圧縮や最適化を 行うことができます パッケージプラグインの 詳細については 「Swift Package プラグインの紹介」と 「Swift Packageプラグインを 作成する」をご覧ください Appのように パッケージリソースを ローカライズすることも できます デフォルトの ローカライズを選択し カタログをエクスポートして 翻訳し 再インポートできます ローカライゼーションの 詳細については 「グローバルAppをビルドする」 をご覧ください 次は実行先の選択です 私は常にデバイスを 切り替えています 更新された実行先の選択では デバイス間の切り替えが より簡単になりました では見てみましょう
実行先を選択する プルダウンを開くと 選択したスキーム向けに 利用可能な実行先が すべて表示されます 私はiPhoneとiPadを よく切り替えます 新しくなったこの機能は 最新の選択肢を優先するので 非常に便利です 最近使用していない その他のデバイスを 選択するのも 容易になりました ここでリストを絞り込み 「max」と入力すると Maxを含むデバイスがすべて表示され 必要に応じて選択できます これらの機能はすべて スキーム選択でも 利用できます では 次はOrganizer ウインドウです 高度に改善された Organizerは 新しい問題を特定し Appの向上に役立ちます Organizerには 2つのレポートがあり ユーザーのデバイス上での Appの状態を 理解するためにハングと フィードバックを提供します では見てみましょう
Feedback organizerは Xcodeから直接 TestFlight フィードバックを提供します TestFlightユーザーが 最近のビルドに対し すばらしいコメントや 画像を送ってくれました インスペクタはテスター情報や デバイス構成など 追加の詳細情報を 表示するので 根本的な問題の特定に 役立ちます もう少し深く 状況を知りたい場合は このボタンを使って直接 テスターにメールを送信します このフィードバックは ベータ版のユーザー向けですが テスト中に見過ごされ App Storeにまで 到達してしまう 問題もあります このような最も一般的な バグに「ハング」があります Appはメインスレッドを 使用し 休憩せずに ユーザーの入力を処理すると ハングしてしまいます コードが重要な作業を 実行していたとしても Appは反応しなくなります この新しいハングレポートは ユーザーに最も影響を及ぼした ハングを確認できるので 最大の影響を与えるために どのコードを 再構築すればいいかを 特定できます 左のリストには 重大度順にハングが 記載されています 各ハングには重み付きの バックトレースがあり 問題のあるコードを 表示しています Appは多くのデバイスや OSに対応します あり特定の構成に対して より大きな 影響を与えるものもあります インスペクタでは このハングが主に iOS 15.3. で生じているのが わかり とても便利です これに取り組む準備が できたら この「Open in Project」 ボタンを使えば 直接そのコードに 移動できます 新しいハングと フィードバックレポートを使えば 問題をトリアージし すばやく適切に 修正することができます ハングの修正については 「Xcodeとオンデバイスでの ハングの検出と追跡」をご覧ください 次はアイコンを 見てみましょう Appアイコンは 時間をかけて ピクセルヒントが行われ すべての解像度に 適切な数のストライプが 選択されているので どのサイズでも鮮明で 素敵です このピクセルヒントは 一部のアイコンには 重要で 一部には不要となります 新しいアイコンができました 見てみましょう シンプルなテキスチャなので ヒンティングは必要なく どんなサイズで描かれても すばらしい外見になります ダブルクリックして 新しい画像を選択します Xcode 14では ディテールのレベルを 任意に選択することができます このアイコンでは 単一の画像が素晴らしいので 新しい単一サイズ機能を 使用して Xcodeにこの画像から 異なるサイズの画像を 自動的に作成するよう 指示します それを行うにはインスペクタで 「Single Size」を選択します 以上です Xcode 14の最新情報を 簡単にご紹介しました 開発がスピードアップし より簡単になりました ご清聴 ありがとうございました ダウンロードして 今すぐ使用しましょう ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。