◀ 2.

【Xcode/iPhoneアプリ】テンプレートの種類一覧

▶
この記事の要点
  • 普通の iPhone アプリを作るなら、テンプレートは迷わず App を選ぶ
  • Xcode 12 以降、Single View App・Tabbed App・Master-Detail App・Page-Based App は廃止され App に統合された
  • タブやリスト→詳細といった画面構成は、テンプレートではなくコード(SwiftUI の TabView、NavigationStack など)で作る
  • ゲームは Game、AR は Augmented Reality App、ファイルを開いて編集するアプリは Document App
  • テンプレート選択後の Interface(SwiftUI / Storyboard)の選択の方が、実際の開発への影響は大きい

テンプレートとは

Xcode で新しいプロジェクトを作るとき、最初に選ぶ「ひな形」がテンプレートです。選んだテンプレートに応じて、起動に必要なソースファイル、画面の定義、設定ファイル(Info.plist 相当の設定やアセットカタログ)が自動で作られます。後からコードで何でも追加できるため、テンプレートの選択でできることが制限されるわけではありません。最初の雛形が違うだけです。

テンプレートの選択画面は「File」→「New」→「Project...」で開きます。画面上部で Multiplatform / iOS / macOS などのプラットフォームを選び、その下の Application 欄からテンプレートを選びます。新しい Xcode では、起動時の Welcome 画面から App をそのまま選んで作成することもできます。

現在の Xcode の主なテンプレート(iOS / Application)

テンプレート用途選ぶ場面
App1 画面だけの最小構成のアプリほとんどのアプリ。学習用もこれ
Document Appファイルを開く・編集する・保存するアプリテキストエディタ、画像編集など「書類」を扱うアプリ
Gameゲーム向け。SpriteKit などのゲーム用フレームワークを選んで作成2D / 3D ゲーム
Augmented Reality Appカメラ映像に 3D コンテンツを重ねる AR アプリARKit を使うアプリ
iMessage Appメッセージアプリの中で動く拡張メッセージ内で使うミニアプリ
Sticker Pack Appメッセージ用ステッカー(スタンプ)だけのアプリ画像を登録するだけでコード不要

表示されるテンプレートの種類や名前は Xcode のバージョンによって変わります。手元の Xcode で表示されるものを確認してください。Application 欄の下には、Framework や Static Library など、アプリ本体ではなく部品(ライブラリ)を作るためのテンプレートも並んでいます。

App を選んだ後のオプション

テンプレートを選ぶと、次の画面でプロジェクトのオプションを指定します。開発への影響はこちらの方が大きいので、意味を理解してから選びましょう。

項目選択肢と目安
Product Nameアプリ名(ホーム画面の表示名の初期値にもなる)
Team署名に使う Apple アカウント。シミュレータだけなら未設定でも可、実機で動かすときは必要
Organization Identifiercom.example のような逆ドメイン形式。Product Name と合わせて Bundle Identifier になる
InterfaceSwiftUI(現在の標準)か Storyboard(UIKit、従来方式)
LanguageSwift か Objective-C。Objective-C は Storyboard を選んだ場合のみ
Storage などCore Data や SwiftData を最初から組み込むかどうか(Xcode 15 以降。バージョンにより項目が異なる)

新しく学ぶなら SwiftUI + Swift がおすすめです。既存の UIKit の解説書やサンプルに沿って学ぶ場合は、Storyboard を選ぶと手順が一致しやすくなります。

旧テンプレート一覧(Xcode 11 以前)

Xcode 11 までは、画面構成ごとに細かくテンプレートが分かれていました。古い書籍や記事に出てくる名前は次のとおりです。

旧テンプレート内容現在の作り方
Single View App1 つのビューのみ用意されている。最低限の機能のみApp テンプレート
Gameゲーム向けGame テンプレート(存続)
Augmented Reality AppAR 向けAugmented Reality App テンプレート(存続)
Document Based Appドキュメントの閲覧 / 操作向けDocument App テンプレート
Master-Detail App項目リストからそれぞれの詳細に遷移するアプリ向けApp + SwiftUI の NavigationStack / NavigationSplitView(UIKit なら UINavigationController / UISplitViewController)
Page-Based Appページング処理があるアプリ向けApp + SwiftUI の TabView に .tabViewStyle(.page)(UIKit なら UIPageViewController)
Tabbed App画面下部がタブボタン(アイコンボタン)で区切られるアプリ向けApp + SwiftUI の TabView(UIKit なら UITabBarController)
Sticker Pack AppiMessage のステッカー用アプリSticker Pack App(存続)
iMessage AppiMessage 用アプリiMessage App(存続)

古い記事の手順で「Tabbed App を選ぶ」と書かれていても、現在の Xcode にはその選択肢がありません。App で作成してから、タブなどの画面構成をコードで追加してください。

タブ画面を App テンプレートから作る例(SwiftUI)

import SwiftUI

struct ContentView: View {
    var body: some View {
        TabView {
            Text("ホーム")
                .tabItem { Label("ホーム", systemImage: "house") }
            Text("設定")
                .tabItem { Label("設定", systemImage: "gearshape") }
        }
    }
}

このように、旧テンプレートが自動で用意していた構成は数行のコードで再現できます。テンプレートを選び間違えたと思っても、作り直す必要はほとんどありません。

テンプレート選びでよくある疑問

学習用にはどれを選べばいい?

App を選び、Interface は SwiftUI にします。Apple 公式のチュートリアル(SwiftUI Tutorials など)もこの構成が前提です。

ゲームを作るなら Game テンプレートが必須?

必須ではありません。Game テンプレートはゲーム用フレームワークの初期設定とサンプル描画が入っているだけです。Unity など別のゲームエンジンを使う場合は Xcode のテンプレートは使わず、エンジン側から Xcode プロジェクトを書き出します。

AR アプリはシミュレータで動く?

カメラとモーションセンサーを使うため、AR 機能の確認には ARKit に対応した実機が必要です。

確認方法

作成したプロジェクトは、ツールバーで実行先のシミュレータ(iPhone の機種)を選び、Run ボタン(Command+R)を押すと起動できます。App テンプレートなら「Hello, world!」と地球のアイコンが表示されれば正常です(表示内容は Xcode のバージョンによって異なる場合があります)。

関連

Post Share
子ページ

子ページはありません

同階層のページ
  1. マップの追加方法
  2. テンプレートの種類一覧
  3. ファイルの役割一覧
  4. シミュレーターの画面の拡大/縮小をする方法
  5. スライダーの作成とカスタマイズ
  6. ボタンの作成とプログラムと連携
  7. ラベルの作成とプログラムと連携
  8. 【Xcode/Swift】ImageViewのContentMode一覧
  9. エラー一覧
  10. アプリを実機で起動させる方法
  11. ツールバーの設置とボタンの追加
  12. 画像の追加