View in English

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

クイックリンク

5 クイックリンク

ビデオ

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

WWDC22に戻る

ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。

  • 概要
  • トランスクリプト
  • コード
  • Swift Playgroundsで最初のAppを構築する

    Swift Playgroundsを使用して、プロトタイプの作成やAppの構築を簡単に行う方法をご覧ください。空のプロジェクトからAppを作成したり、SwiftUIでインターフェイスを構築したり、Swift Package Managerを使用してオープンソースパッケージから機能を追加したりする方法を紹介します。また、プレビューやコンソールを使用して問題をデバッグする方法や、AppをApp Store Connectに送信してTestFlight経由で配信を行う方法も紹介します。

    リソース

      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC22

    • Swift Playgrounds用の魅力的なコンテンツを作成する
  • このビデオを検索

    ようこそ「Swift Playgroundsで 最初のAppを構築する」へ Swift Playgroundsチームの Collett Charltonです Connor Wakamoです Swift Playgroundsチームの エンジニアです Swift Playgroundsは Swiftのコード学習ツールで この度 Appを 作れるようにもなりました 今日はSwift Playgroundsで Appを作成する過程を 1からお見せします そしてプレビューと コンソールでデバッグし TestFlightに Appを提出します

    私たちのチームは お茶が大好きです ですのでお茶のAppを 作ってみたいと思います Connorと共に お茶の時間にお茶のリストで お茶を選んでくれるAppを 作成したいと思います Swift Playgroundsは MacとiPadに最適です 今日はMacがあるので MacでAppを 作成したいと思います

    コーディングが初めてでも 経験あるデベロッパでも Swift Playgroundsには 数々のテンプレートや 学習資料があります このAppの作成は スクリーン左下の 空白テンプレートから 始めます

    テンプレートがでてきました ダブルクリックで開きます

    右側にライブのインタラクティブな プレビューがあります

    まず最初にApp Settingsで 少しカスタマイズしましょう サイドバーの左上の App Settingsボタンで Settingsを開きます

    ここでApp名や アクセントカラーなど カスタマイズできます またカスタムアイコンまたは プレイスホルダーアイコンや 機能やBundleIDも 設定できます 名前は「Tea Time」にします

    アクセントカラーは茶色に

    プレースホルダーアイコンに マグを選びます

    重要な部分は済みましたので テンプレートテキスト選び ライブラリからビューを置き換え コーディングを始めましょう ライブラリはプロジェクト ツールバーの+でアクセスできます ここには簡単に使える ビューや修飾子 SF Symbolsやカラーなどの スニペットがあります リストビューで お茶のリストを作るため リストを検索しクリックして 挿入します

    それではリストビューに お茶を足しましょう

    Textとタイプし returnキーで インラインコードの コンプリーションパネルの コード補完を完了させます

    リストビューに お茶を1つ足しました さらに足しましょう

    あら Jasmine Greenを 2度入力してしまいました 重複を避けるため orderedSetを使うべきです 幸運にもSwiftコレクション パッケージにその機能があります Swiftコレクションパッケージを 追加しましょう

    「File」メニューから 「Add Package」を選びます

    Swiftコレクションパッケージ のURLをタイプし returnキーを押します

    パッケージが呼び込まれ そのバージョンと 追加できるプロダクトが 表示されます ここでは「Collections」を選び 「Add to Project」をクリック

    サイドバーのPackagesに 追加されました OrderedSetを作り お茶のリストを格納します

    あら 問題があるようです 「Issue」アイコンで問題を見ます

    「Cannot find type ordered set in scope.」 なるほど わかりました Collectionsモジュールを 忘れていました 取り込めば問題は なくなるはずです

    問題が解決しました リストビューを更新し Collectionを使います これには ForEachビューを使います

    さあ できました お茶のコレクションから お茶のリストが表示されます プロジェクトを進めるにつれ さらに機能のアイデアが 出てきました お湯が沸いた音を Appが聞いて 教えてくれたら便利ですね 今は追加しませんが なぜマイクの使用が必要か ユーザーに説明する手順を お見せしましょう

    これを追加するには App Settingsに戻り 「Capabilities」を選びます

    右上の+ボタンで リストから 必要なものを選びます 「Microphone」を選び クリックして追加します Purpose stringに書きます 「Tea Timeは湯沸かしの― 音を聞くために マイクを使用します」 「Add」をクリックし App Settingsを閉じます

    今日はたくさん達成しました プロジェクトとアイデアを Connorと共有しましょう

    共有「iCloud」フォルダーに 足して共有できますが その前に「My App」以外の 名前をつけましょう

    そして共有「iCloud」 フォルダーにドラッグします

    この後はConnorが Appを完成させます ありがとう Collett ここからはiPadで作業します iCloud共有フォルダーで 共有しているので メインリストには 表示されません ですが「Locations」を タップすれば iCloudや第三者サービスの どこにもアクセスできます 共有フォルダーをすでに 開いているので 「Tea Time」をタップし プロジェクトを開きます 変更を加えれば自動的に 共有プロジェクトに反映されます Collettは素晴らしい エンジニアで iCloudへのアップロードで 機能が追加されました TabViewの実装で お茶のリストだけでなく アシスタントもあります アシスタントをタップすると 今は簡素ですが 役目は果たします お勧めを尋ねれば 答えが返ってきます

    今日はJasmine Greenが お勧めのようです Collettはさらに新しい 楽しいお茶の選び方を 考えていました サイドバーで見つけましょう

    TeaWheelViewかもしれません タップして開けましょう

    ビューにデータが収集されます ビュープレビューを足して Appの機能になる前に TeaWheelViewを 試してみましょう 一番下にスクロールし

    「Preview Provider」と タイプします

    コード補完を returnキーで選び TeaWheelView_Previewsと 名付けます

    App Previewの下に ドットが現れました Swift Playgroundsが プレビュー感知したということです App Previewの下の 右矢印をタップすると Appプレビューではなく ビュープレビューを使用できます 今は「Hello, world!」 だけですが TeaWheelViewを作るため コードを足しましょう まずプレビューで使えるよう 静的プロパティとして 配列をいくつか足します

    角括弧の間に挿入位置を置き 括弧閉じをドラッグして プレースホルダを作ります

    次にプレースホルダを 文字列と置き換えます

    それではTeaWheelViewに 足しましょう Hello, world!を選び TeaWheelViewと 置き換えます

    パディングも足します

    ビュープレビューに ルーレットが現れました 素敵ですね スピンさせると 違うアイテムを選びます アシスタントタブに戻り これを足しましょう サイドバーでAssistantTab Swiftファイルを開き Buttonを TeaWheelViewと入れ替えます

    回転が止まった時に 呼び出される action closureが オプションにあります

    最後に選んだお茶を 選ばれたお茶にセットし showPickAlertをtrueにして SwiftUIにアラートさせます

    これで準備できました 試してみましょう スピンするとByte's Oolong を勧めてきました もう一度スピンします

    またByte's Oolongですね もう一度

    何か変ですね 違う箇所で止まっても Byte's Oolongを 勧めてきます いいお茶ですが もう少し種類が欲しいですね Wheel Viewで 原因を探りましょう

    ルーレット自体は 作動してるので 原因は明らかではありません ビュープレビューに Printを足し プレビューも変か確かめます

    回転させると

    ソースエディタの左下に コンソールメッセージが出ました アイテム1 アイテム1... アイテム1 どのスピンも アイテム1が返ってきました 設定がおかしいようです 毎回 1番目のアイテムなので プロジェクト全体の検索で firstを探します スクリーン左側の サイドバーの上にある 検索バーをタップし firstとタイプし returnキーを押します

    可能性がある結果なので タップします

    どうやらCollettが デバッグコードを置き忘れ 毎回 1つ目のアイテムに 戻っていたようです では これを正しましょう

    アイテム2 アイテム4 直ったようですね プレビューの下の 左矢印をタップして Appプレビューに戻り 実際のAppで試してみます スピンすると English Breakfastです アシスタントが 正常に動いています では どのサイズでもAppが 作動するのを確認するため 左上の実行ボタンで 独自のウインドウで 作動させてみます

    問題ないようですね お茶のリストも アシスタントもあり ルーレットもあります Swift Playgroundsの プロジェクトに戻るため ステータスバーにある Swiftアイコンをタップし 「Show Project」ボタンを 選択します

    友人や家族とこのAppを テストする準備ができました Swift Playgroundsから 直接TestFlightに提出し 簡単にテストできます App Settingsシートを開き 一番下にスクロールすると 「Upload to App Store Connect」ボタンがあります タップすると自動的に Appレコードの作成や App Store Connectへの アップロードが行われ TestFlightそして後に App Storeから配信されます

    アップロードが完了し App Store Connectで ベータ版App Reviewに 提出できます しばらく待った後 TestFlight Appで インストールできます iPhoneでもです!

    InstallでTea Timeを インストールします

    それが終わると Openで開きます Test Noteをタップし フィードバックの提出の仕方も タップします

    これでiPhone上で Appが開きました 今日はどのお茶が いいでしょう?

    Matt P's Tea Partyですね 本日はSwift Playgroundsを使って MacとiPadでの Appの作り方をご紹介しました ライブラリとコード補完を使った コード入力方をお見せし iCloud共有フォルダで プロジェクトを共有し ビュープレビューとコンソールで デバッグしました そしてiPadから TestFlightに提出しました お役に立てたことを願い Swift Playgroundsの ご活用を期待しています ありがとうございました WWDCをお楽しみください

    • 3:31 - First Tea Item

      Text("Jasmine Green")
    • 3:39 - List Of Teas

      Text("Jasmine Green")
      Text("English Breakfast")
      Text("Byte's Oolong")
      Text("Golden Tippy Assam")
      Text("Matt P's Tea Party")
      Text("Darjeeling")
      Text("Genmaicha")
      Text("Jasmine Green")
      Text("Vanilla Rooibos")
    • 4:45 - OrderedSet of Teas

      let teas: OrderedSet<String> = ["Byte's Oolong", "Golden Tippy Assam", "English Breakfast", "Matt P's Tea Party", "Darjeeling", "Genmaicha", "Jasmine Green", "Vanilla Rooibos"]
    • 5:28 - ForEach View

      ForEach(teas, id: \.self) { tea in
           Text(tea)
      }
    • 8:45 - Initial Preview Provider

      struct TeaWheelView_Previews: PreviewProvider {
          static let items: [String] = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"]
          static var previews: some View {
              Text("Hello, world!")
          }
      }
    • 9:22 - Preview Provider with TeaWheelView

      struct TeaWheelView_Previews: PreviewProvider {
          static let items: [String] = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"]
          static var previews: some View {
              TeaWheelView(items, id: \.self)
                  .padding()
          }
      }
    • 10:40 - TeaWheelView in Assistant Tab

      TeaWheelView(dataSource.teas, action: { tea in
          lastPickedTea = tea
          showPickAlert = true
      })
    • 11:55 - Preview Provider with Print Statement

      struct TeaWheelView_Previews: PreviewProvider {
          static let items: [String] = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"]
          static var previews: some View {
              TeaWheelView(items, id: \.self) {
                  print($0)
              }
                  .padding()
          }
      }

Developer Footer

  • ビデオ
  • WWDC22
  • Swift Playgroundsで最初のAppを構築する
  • メニューを開く メニューを閉じる
    • 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.
    利用規約 プライバシーポリシー 契約とガイドライン