View in English

  • メニューを開く メニューを閉じる
  • Apple Developer
検索
検索を終了
  • Apple Developer
  • ニュース
  • 見つける
  • デザイン
  • 開発
  • 配信
  • サポート
  • アカウント
次の内容に検索結果を絞り込む

クイックリンク

5 クイックリンク

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • トピック
  • すべてのビデオ
  • 利用方法

WWDC25に戻る

  • 概要
  • トランスクリプト
  • コード
  • CarPlay向けアプリの強化

    ライブアクティビティとウィジェットをCarPlayおよびCarPlay Ultraに追加すると、ユーザーが各自のアクティビティの進捗状況や関連情報を一目で確認できるようになります。すべてのCarPlayアプリで利用できる新しいテンプレートオプションを紹介します。ナビゲーションアプリにより、ターンバイターンのメタデータを車内の計器盤またはHUDに表示できます。

    関連する章

    • 0:00 - イントロダクション
    • 1:27 - CarPlay Ultra
    • 2:14 - ウィジェット
    • 5:07 - ライブアクティビティ
    • 6:49 - CarPlayフレームワーク
    • 17:15 - デモ
    • 21:38 - 次のステップ

    リソース

    • Adding StandBy and CarPlay support to your widget
    • Additional Tools for Xcode
    • CarPlay for developers
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC25

    • ウィジェットの新機能
    • InstrumentsによるCPUのパフォーマンス最適化

    WWDC24

    • 次世代のCarPlayのデザインシステムの紹介
    • 次世代のCarPlayアーキテクチャについて

    WWDC22

    • CarPlayでAppの利用を増やそう
  • このビデオを検索

    こんにちは OliviaですCar Experienceチームの エンジニアを努めています 今日はiOS 26版CarPlayを ご紹介できることを嬉しく思います CarPlayは 車内でiPhoneをよりスマートで より安全な方法で使用するための手段で AppleではCarPlayでアプリを強化する 新しい方法を 豊富に導入しています 運転中につながりを保つことが これまで以上に簡単になりました メッセージのTapbackや ピンで固定したチャットや コンパクトな着信呼び出しUIによって ナビゲーションの目的地に 目線を集中させ続けることができます ほかにも お気に入りのアプリからの 重要な情報を見る方法は色々あります お気に入りのアプリは 一目でわかる便利なウィジェットで リアルタイム更新はライブアクティビティで 利用できます 車載画面の形状やサイズは さまざまです iOS 26では 一部の画面構成を ドライバーが設定できるようになっていて CarPlayの設定にあるSmart Display Zoomで 拡大縮小を調整できます Smart Display Zoomが有効の状態では CarPlayアプリは自動的に 新しい表示スケールに サイズ変更されます

    iOS 26でも CarPlayアプリの外観は 自動的に更新されるため 皆さんの側で追加の作業は必要ありません CarPlay Ultraを利用すれば iPhoneと自動車 両方の最高の機能を すべての運転席ディスプレイで 統一性と 一貫性があり パーソナライズされた 優れた体験として提供できます 現在 運転中にCarPlayで 見たり楽しんだりしているアプリなど ディスプレイに表示されるものは CarPlay Ultraでも利用できます iOS 26では 運転中のドライバーに アプリを提供する方法がさらに増えました ウィジェットやライブアクティビティに 対応しているアプリなら CarPlay対応アプリでなくとも 運転中にCarPlayで利用できます また ドライバーがCarPlayアプリの 一般的なシナリオを円滑に実行できるよう CarPlayフレームワークに 新しいAPIが加わりました CarPlayのウィジェットから始めましょう

    CarPlayアプリがなくても ドライバーは CarPlay Dashboardの左側で アプリがサポートしているウィジェットを 見ることができます ウィジェットからはCarPlayや タッチスクリーンのアプリを起動でき 操作もウィジェットが支援します ドライバーは iPhoneで →→を表示して 車両を選択し CarPlayに表示する ウィジェットをカスタマイズできます 嬉しいことに ウィジェットをCarPlayに 導入する手順は 驚くほど簡単です systemSmallファミリーを サポートするだけで準備は完了です

    ウィジェットは多様なプラットフォーム 多様なコンテキストで表示できます たとえば systemSmallウィジェットは iPhoneのホーム画面やロック画面 スタンバイ画面 そして新たに CarPlayに追加できるようになりました ただし 一部のウィジェットは状況によって うまく機能しない場合があります たとえば 高密度のテキストや ドライバーと無関係の情報に依存する ウィジェットなどは CarPlayの ウィジェットには適さないかもしれません そのような場合は disfavoredLocations修飾子を 活用するとよいでしょう disfavoredLocationsの設定に carPlayを含めると CarPlay設定では CarPlay用への最適化に 未対応なウィジェットと表示され 自動的にグループ化されます Disfavoredに該当するウィジェットを CarPlay体験に含めるよう ドライバーが選択した場合 インタラクションは無効になります

    ウィジェットがゲームである場合や さまざまな操作を必要とする場合は CarPlayをDisfavored Locationに 設定することをおすすめします

    たとえば タップするたびに ウィジェットが新しいコンテンツで 更新される場合などがそうでしょう この場合も CarPlayを Disfavored Locationとして 登録するのがベストでしょう ウィジェットがデータ保護クラスAまたは Bに依存している場合 CarPlayでは 動作しないでしょう ほとんどのユーザーが ロック状態のiPhoneで使用するからです ウィジェットにCarPlayアプリが 関連付けられている場合 ウィジェットをタップすると アプリを起動できます ただし ウィジェットの主な目的が CarPlayで利用できないアプリを 起動することである場合は disfavoredLocationの使用を検討しましょう

    iPhoneの優れたウィジェットは シンプルで見やすい情報を提供しますが CarPlayも同じです 開発にあたって検討しておきたい ベストプラクティスをいくつか紹介します

    ウィジェットは各種車両用に最適化済みで widgetContentMarginsも CarPlayでの表示用に調整されています containerBackgroundRemovable修飾子を trueに設定すると ウィジェットの背景は削除されます また どのような状況でも テキストの読みやすさを維持できるよう システムが提供するフォントと色を 使用するのがベストです 皆さんのアプリはライブアクティビティから タイムリーな更新を提供しているでしょう iOS 26では CarPlayでもこれを体験できます iPhoneの対応するライブアクティビティが 開始されると 自動的に CarPlay Dashboardに表示されます CarPlay Dashboardが非表示の場合は 重要なアラートを見逃さないよう CarPlayがディスプレイの下部に 通知としてこれを表示します iPhoneと同様 ライブアクティビティは 「設定」でオフに切り替え可能なほか 集中モードを有効にして アラートを制御することも可能です

    ドライバーに最も有用かつ一目でわかる 情報を提供するため CarPlayは activity family smallサイズクラスで ライブアクティビティを表示します

    これは watchOSスマートスタックの ライブアクティビティと同じクラスです activity family smallをまだ 実装していない場合 CarPlayは Dynamic Islandの構成から コンパクトな 先頭ビューと末尾ビューを表示します 最高の体験を提供するため アプリからはライブアクティビティの 最も重要なステータスだけ伝えるようにし CarPlayのライブアクティビティについては 非インタラクティブ化を検討しましょう ウィジェットやライブアクティビティの テストは簡単で 車も必要ありません macOS対応CarPlayシミュレータアプリは USBケーブルを使って iPhoneをMacに接続した状態で CarPlay体験をフルに再現します CarPlayシミュレータは ダウンロード可能な「Xcode用の追加ツール」 パッケージに入っています ウィジェットとライブアクティビティの デザインについて詳しくは 「What’s new in Widgets」 ビデオをご覧ください ここからは 車内で使える アプリの全機能に注目しましょう CarPlayフレームワークでは アプリをCarPlayでフルに提供できるため 一般的なタスクを 運転中もシームレスに実行できます 対応可能なカテゴリは さまざまです オーディオ再生や SiriKitを介したコミュニケーション 運転タスク、EVの充電と給油 ターンバイターンの経路案内、駐車 食事のクイック注文にまで対応します アプリがこれらカテゴリの 基準を満たしているならば エンタイトルメントをリクエストすれば CarPlayフレームワークを活用できます CarPlayフレームワークには テンプレートAPIが数多く含まれています CarPlayアプリの各カテゴリでは 専用にデザインされた テンプレートのセットに アクセスできます これらのテンプレートAPIは 車での使用に最適化したUIを通じて インタラクションの構成や応答の機能を アプリに提供します また 車種ごとに異なるディスプレイ構成や 入力ハードウェアなどの詳細仕様から アプリを自由にします iOS 26のCarPlayテンプレートにおける 機能強化を いくつかご紹介します オーディオアプリやナビゲーションアプリの アップデートもご紹介します

    リストテンプレートは すべてのCarPlayアプリで利用可能で 音楽トラックのセットリストなどを アプリに表示できます

    CPListImageRowItemは リストの行として 表示できるアイテムの型です ユニークなアルバムアートワークなど 一連の画像を表示するために使用できます iOS 26では リストテンプレートの画像行を カスタマイズする新しい方法が登場しました 行項目内にある個々の要素を 無効にする機能も新たにサポートしたほか 行項目内の要素を 複数行に 拡張させることも可能になりました すでにCPListImageRowItemを アプリで使用している場合は 「Row Element」で構成して 同じ表示スタイルを使用したり 新しい複数行の機能や 無効化機能の利点を 活用したりすることができます

    「Card Element」は 一連の ポートレートスタイルのカードを表示する プレゼンテーションスタイルです カード全体を画像で埋めるか カードの上部に正方形として 表示させるかを選択できます オプションでタイトルやサブタイトル 色遣いの機能を提供して 見栄えを良くすることができます よりコンパクトな外観にするには 「Condensed Element」を使用します このスタイルでは タイトルと画像を 丸みを帯びた正方形 または円形で 表示できます オプションで 要素の右端に 字幕とSF Symbolを 表示させることができます 「Grid Element」を使用して コンテンツを 最大の画像で表現することもできます 独自のプレイリストや 連絡先の画像を表示するのに最適です そして 「Image Grid Element」を使用して 構成可能な画像を 丸みを帯びた正方形または円形の どちらかで表示できます 画像の下に オプションのタイトルや SF Symbolを表示することもできます リストテンプレートに ピン留めした要素を 表示する 新しいAPIも追加されました CPListTemplateにheaderGridButtons プロパティを割り当てて 重要な要素を 最初のリストセクションより前の リスト最上部に配置します 次に 画像やタイトルバリアントと オプションのハンドラを使用して ボタンをタップすると呼び出される グリッドボタンを作成します

    コミュニケーションアプリの場合は CPMessageGridItemConfigurationも提供できます messageConfigurationでは 会話識別子を送り グリッド項目を選択すると SiriKitがこれを アプリに返すようにすることができます また アイテムに未読インジケータを 表示させるかどうかを 示すこともできます ここで話を切り替えて CarPlayオーディオアプリの話をしましょう アプリでスポーツイベントのオーディオを ストリーミングする場合は CarPlay画面でイベントのステータスを 表示するテンプレートを再生します スポーツモードのNow playing テンプレートは iOS 18.4以降の CarPlayオーディオアプリで 2チームでのイベントを対象としています チームのロゴやチームのスコアや ゲームクロックなどの メタデータを表示できます

    ライブや録画によるスポーツイベントの オーディオをストリーミングする場合は eventClockの経過時間や残り時間など イベント情報を使って CPNowPlayingSportsEventStatus を作成し 既存のNow playingテンプレートを スポーツモードに移行できます システムは ユーザーに代わって eventClockが指定したポイントから 自動的に カウントアップやカウントダウンを行います 次に 新しく作成したイベントステータスや チームに関する情報を使用して CPNowPlayingModeSportsを インスタンス化します 最後に Now playingテンプレートの nowPlayingModeを CPNowPlayingModeSports インスタンスに設定します

    再生中の任意の時点で アプリは新しい スポーツモードメタデータのセットを提供し スコアやポゼッションインジケータや 順位などを調整します 事前録画したイベントのストリーミングでは 再生コントロールで タイムシフト可能な場合があります タイムシフトを実行した場合は 新しい再生位置に対応するメタデータで アプリがアップデートを 送信するようにしてください 新しいUI機能強化を確認できたので オーディオ対応アプリの場合の ベストプラクティスを見てみましょう CarPlayは iPhone由来のオーディオソースと 車由来のオーディオソースが混在している ユニークな環境です たとえば CarPlayでのアプリ動作中は CarPlayアプリでスポーツの試合を聴いたり FMラジオや衛星ラジオを 楽しんだりすることもあるでしょう

    ドライバーが中断なしで再生を楽しみ 最高のリスニング体験を味わうための 秘訣を いくつか紹介します オーディオセッションは アプリでの 再生直前に開始するようにしてください アプリでのオーディオ再生が止まったら 必ずオーディオセッションを無効にします 空間オーディオとDolby Atmosは 驚くべきイマーシブな オーディオ体験を提供します 車のサウンドシステムでも これらのフォーマットに対応できます AirPlayの拡張オーディオバッファリングを サポートして この素晴らしい体験を CarPlayのアプリでも味わいましょう 詳しくは「Tune up your AirPlay audio experience」をご覧ください ここからは ナビゲーションアプリの 新機能をご紹介します iOS 26では CPMapTemplateのボタンは 自動的にLiquid Glassの外観で 表示されます CarPlay Simulatorで ボタンアイコンの 表示をテストしておきましょう CarPlay Ultra対応車両を含め 多くの新型車両は マルチタッチ操作をサポートしています iOS 26以降 車両がCarPlayの マルチタッチ操作に対応している場合 ドライバーはマルチタッチジェスチャで ナビゲーションアプリを操作できます CPMapTemplateがコールバックを受け取り ジェスチャに応じた対応が可能になるため より豊かでインタラクティブなマップ体験を 生み出すことができます サポートしているジェスチャには ダブルタップによるズームインや 2本指のダブルタップでのズームアウトや 2本指での上下スライドによるピッチ調整や 2本指での回転などがあります CarPlayナビゲーションアプリは 対応車種で複数のスクリーンやサーフェスに 情報を表示できます デフォルトでは アプリの地図は CarPlayディスプレイに描画されます ダッシュボードナビゲーションシーンの サポートを宣言して 必要なデリゲートを実装すれば CarPlayダッシュボードにも表示できます iOS 16.4では 2番目の表示エリアでの 別マップ表示のサポートを導入しました 「Get more mileage out of your app with CarPlay」ビデオを 下のリンクからご覧ください ほとんどの新車は 計器盤やヘッドアップ ディスプレイでの ターンバイターン方式の メタデータ表示に対応しています

    ナビゲーションメタデータの 仕組みはこうです CarPlayでアプリを実行すると iPhoneが車両に接続されます 運転中 アプリは操縦や 交差点のタイプに関するメタデータなど この先に行う 一連の操作の説明を作成します 送信されたメタデータをもとに 車両は最も近いタイプのビジュアルを マッピングして 画面に表示する外観を コントロールします

    CPManeuverを使用して それぞれの操作を指定します 54の操縦タイプから1つ指定します いくつか例を紹介します 環状交差点など より複雑な交差点の 記述に役立つジャンクションタイプも 指定できます 出口の数や それぞれの出口の角度や 進むべき出口をドライバーに示す ガイダンスを含めることができます 見えかたは車の側が指定するため こちらはタイプの意味合いに注目します

    「Coastal Roads」という ナビゲーションアプリを使って メタデータのサポートを追加しましょう mapTemplateShouldProvideNavigationMetadataを システムが呼び出したときtrueを返したので CarPlayは ナビゲーションメタデータを サポートできることを認識しています アプリのパフォーマンスを最大化するため 経路案内が始まったら CPNavigationSessionには 事前にできるだけ多くの操縦支援と 車線誘導オブジェクトを提供します

    経路変更が必要になった場合は 現在のドライブをいったん停止して 更新された経路情報を含む CPRouteInformationObjectを作成します オブジェクトでドライブを再開すると システムは新しい経路を表示します 以上はすべて Mac上の CarPlayシミュレータでテストできます メタデータに対応する多数の車両を使い 路上でテストすることもできます テストはどういう具合に行われるのか ご紹介します

    ここは車の中です この車には大きな中央スクリーンと ハンドル奥の 計器盤ディスプレイがあります iPhoneはペアリング済みで CarPlayも稼働しています

    こちらが iOS 26の CarPlay Dashboardです 新しいデザインは素晴らしく すぐに馴染めそうです iPhoneにそっくりですね 現在 サンプルのナビゲーションアプリ 「Coastal Roads」を実行中で 左側に地図が表示されています 右上には ダッシュボードボタンがあります ダッシュボードボタンは ショートカットや お気に入りの操作に使用でき CPDashboardButtonインスタンスで 簡単に操作を割り当てられます ビデオの前半で CarPlay用の ウィジェットを紹介しました ウィジェットは お気に入りのアプリからの 情報を クルマのスクリーン上で 一目で確認できるようにするための お馴染みの方法です 右にスワイプするだけで この通りです

    画面に表示させたいウィジェットは こんな風に素早く選択できます CarPlayに表示するウィジェットを カスタマイズするには iPhoneで→→ の順に選択します それでは Coastal Roads ナビゲーションアプリを体験しましょう

    アプリのCPMapButtonと CPBarButtonの画像を更新して Liquid Glassでの見栄えも完璧です

    バーボタンの1つを構成して お気に入りの Coastal Roads Ferryまでのドライブの プレビューを表示させています では 計器盤の表示を 見てみましょう

    この車は 重要な運転情報を 計器盤にまとめているので 運転中でも簡単に確認できます 表示を変更して ターンバイターンの 経路案内を 見やすい位置に表示できます 経路案内はこれからなので さっそくスタートしましょう 発進後は140フィート直進します Coastal Roadsのメタデータは 「straightAhead」という操縦指示を指定し これは通常 直線の矢印として表示されます 次の案内ポイントまでの距離と 走行中の道路名が表示されています 現在 Starfish Stに向かって 左45度(-45°)に軽く左折し 操縦指示が更新されます Coastal RoadsがjunctionElementAnglesを 右前方80度と左前方5度に設定したので 道がどちらに向かうのかがわかります ここで大きく左方向に曲がり アプリには左折角度が 手前45度(-135°)と表示されます ご覧のとおり 見た目が少し変わりました ここから すみやかに Horizon Highwayに入ります onRampという操縦指示が表示されています ここで offRampの 操縦指示に変わりました

    あと2回ほど左折します Pebble Pierで道なりに 右前方20度の方向に進みます

    ついにフェリーまでたどり着きました! Coastal Roadsは enter_ferryという操縦指示を送った後 arriveAtDestinationという 操縦指示を送ります

    ご覧のとおり メタデータは 計器盤やヘッドアップディスプレイで 方向を表示する方法として かなり有効です CarPlayは車との通信を担当し メタデータや管理状況を 送信します 皆さんは 素晴らしい経路案内体験を 生み出す作業に集中できます ナビゲーションアプリのパフォーマンスを 最適化するため アプリは 熱レベルを監視したり マップ描画の 詳細度を下げたりするほか ビューの更新頻度が低い 概要モードへの切り替えを実行できます

    CarPlayのCADisplayLinkフレームレートが デバイスの状態に応じて自動適応する 可能性がある点に 注意してください また アプリがセンターコンソールと 計器盤の両方でマップを表示する場合は 同じコンテンツを両方の画面に 表示する必要はないことを 念頭に置く必要があります 一方のビューを概要モードにして ドライバーに複数の観点から ナビゲーションを提供することも 検討しましょう こうすることで アニメーション化されたビューの 更新量を減らせるという メリットもあります 詳細は「Optimize CPU performance with Instruments」をご覧ください これで完了です ウィジェットとライブアクティビティにより 走行中のドライバーにアプリを届ける方法が さらに増えました

    CarPlayフレームワークのアップデートで CarPlayアプリは より表現豊かで有能に 計器盤やヘッドアップディスプレイ内でも 機能するようになります 詳細は ページ下の CarPlayデベロッパリンクをご覧ください 楽しいドライブを!

    • 3:21 - Set CarPlay as a disfavored location

      // Disfavored locations modifier for CarPlay
      
      WidgetConfiguration()
          .disfavoredLocations([.carPlay], for: [.systemSmall])
    • 10:05 - List template with pinned elements with grid buttons

      // Pinned elements
      
      var headerGridButtons: [CPGridButton]?
      
      // Create a Grid Button
      
      class CPGridButton
      
      init(titleVariants: [String],
           image: UIImage,
           handler: ((CPGridButton) -> Void)?)
    • 10:22 - List template with pinned elements with grid buttons for messages

      // Pinned elements
      
      var headerGridButtons: [CPGridButton]?
      
      // For Communication apps
      
      class CPGridButton
      
      init(titleVariants: [String],
           image: UIImage,
           messageConfiguration: CPMessageGridItemConfiguration?,
           handler: ((CPGridButton) -> Void)?)
      
      class CPMessageGridItemConfiguration
      
      init(conversationIdentifier: String, unread: Bool)
    • 11:20 - Now playing template with sports mode

      // Now playing template with sports mode
      
      let clock = CPNowPlayingSportsClock(elapsedTime: time, paused: false)
      
      let status = CPNowPlayingSportsEventStatus(
          eventStatusText: ["1st"], // 1st quarter
          eventStatusImage: UIImage(named: "Semifinals"),
          eventClock: clock
      )
      
      let sports = CPNowPlayingModeSports(
          leftTeam: getLeftTeam(), // CPNowPlayingSportsTeam
          rightTeam: getRightTeam(), // CPNowPlayingSportsTeam
          eventStatus: status,
          backgroundArtwork: getBackgroundArtwork() // get UIImage
      )
      
      CPNowPlayingTemplate.sharedTemplate.nowPlayingMode = sports
    • 14:15 - Multitouch callbacks

      // Multitouch
      
      // Zoom callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       didUpdateZoomGestureWithCenter center: CGPoint,
                       scale: CGFloat,
                       velocity: CGFloat) {     }
      
      // Pitch callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       pitchWithCenter center: CGPoint) {     }
      
      // Rotate callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       didRotateWithCenter center: CGPoint,
                       rotation: CGFloat,
                       velocity: CGFloat) {     }
    • 16:28 - Add support for metadata

      // Add support for metadata
      
      // Declare support
      
      func mapTemplateShouldProvideNavigationMetadata(_ mapTemplate: CPMapTemplate) -> Bool {
          true
      }
      
      // Provide maneuver information up-front
      
      cpNavigationSession.add(maneuvers)
      cpNavigationSession.add(laneGuidance)
      
      // Reroute
      
      cpNavigationSession.pauseTrip(for: .rerouting, description: "Rerouting")
      cpNavigationSession.resumeTrip(updatedRouteInformation: cpRouteInformation)

Developer Footer

  • ビデオ
  • WWDC25
  • CarPlay向けアプリの強化
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード(英語)
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    Apple Developerアプリを入手する
    Copyright © 2025 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン