| この記事の要点 |
|
テンプレートとは
Xcode で新しいプロジェクトを作るとき、最初に選ぶ「ひな形」がテンプレートです。選んだテンプレートに応じて、起動に必要なソースファイル、画面の定義、設定ファイル(Info.plist 相当の設定やアセットカタログ)が自動で作られます。後からコードで何でも追加できるため、テンプレートの選択でできることが制限されるわけではありません。最初の雛形が違うだけです。
テンプレートの選択画面は「File」→「New」→「Project...」で開きます。画面上部で Multiplatform / iOS / macOS などのプラットフォームを選び、その下の Application 欄からテンプレートを選びます。新しい Xcode では、起動時の Welcome 画面から App をそのまま選んで作成することもできます。
現在の Xcode の主なテンプレート(iOS / Application)
| テンプレート | 用途 | 選ぶ場面 |
|---|---|---|
| App | 1 画面だけの最小構成のアプリ | ほとんどのアプリ。学習用もこれ |
| 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 Identifier | com.example のような逆ドメイン形式。Product Name と合わせて Bundle Identifier になる |
| Interface | SwiftUI(現在の標準)か Storyboard(UIKit、従来方式) |
| Language | Swift か Objective-C。Objective-C は Storyboard を選んだ場合のみ |
| Storage など | Core Data や SwiftData を最初から組み込むかどうか(Xcode 15 以降。バージョンにより項目が異なる) |
新しく学ぶなら SwiftUI + Swift がおすすめです。既存の UIKit の解説書やサンプルに沿って学ぶ場合は、Storyboard を選ぶと手順が一致しやすくなります。
旧テンプレート一覧(Xcode 11 以前)
Xcode 11 までは、画面構成ごとに細かくテンプレートが分かれていました。古い書籍や記事に出てくる名前は次のとおりです。
| 旧テンプレート | 内容 | 現在の作り方 |
|---|---|---|
| Single View App | 1 つのビューのみ用意されている。最低限の機能のみ | App テンプレート |
| Game | ゲーム向け | Game テンプレート(存続) |
| Augmented Reality App | AR 向け | 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 App | iMessage のステッカー用アプリ | Sticker Pack App(存続) |
| iMessage App | iMessage 用アプリ | 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 のバージョンによって異なる場合があります)。
関連
- Swift入門|iOS・macOSアプリ開発言語の特徴とObjective-Cとの違い
- シミュレーターまとめ | Android / iOS / VM / API テスト用ツール一覧
- Unity でゲームをビルドする方法(Windows / Mac / Android / iOS / WebGL)
- Android Studio 完全ガイド (Hedgehog / Iguana / Compose / Profiler)
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09