9.

Xcodeとは|iOS・macOS開発統合環境とSwift・シミュレータ・実機ビルド

編集
この記事の要点
  • Xcode は Apple 純正の統合開発環境(IDE)。iPhone / iPad / Mac / Watch / TV のアプリ開発に使う
  • 対応言語は Swift(推奨)と Objective-C。SwiftUI / UIKit / AppKit の UI フレームワークを統合
  • macOS 専用。Mac App Store または Apple Developer サイトから無料ダウンロード可能
  • iOS シミュレータ、デバッガ、Interface Builder、Instruments(プロファイラ)、Asset Catalog を内包
  • App Store への提出は Xcode の ArchiveDistribute App から行う

Xcode とは

Xcode のロゴ / 起動画面

Xcode(エックスコード)は Apple 純正の統合開発環境(IDE)です。iPhone(iOS)、iPad(iPadOS)、Mac(macOS)、Apple Watch(watchOS)、Apple TV(tvOS)、Vision Pro(visionOS)など、Apple のあらゆるプラットフォーム向けアプリを開発する公式ツールです。

Apple 社から無料で提供されており、Mac App Store または Apple Developer のサイトからダウンロードできます。Apple プラットフォーム向け開発では事実上の唯一の選択肢です。

Xcode に含まれるもの

コンポーネント役割
ソースエディタSwift / Objective-C / C / C++ / Metal シェーダ等を編集。補完・リファクタリング対応
Interface BuilderStoryboard / XIB で UI を視覚的に組む(UIKit / AppKit 時代の主流)
SwiftUI プレビューSwiftUI のコードをリアルタイムでプレビュー
iOS / iPad / Watch シミュレータMac 上で iPhone / iPad / Apple Watch の動作を再現
デバッガ(LLDB)ブレークポイント、ステップ実行、変数監視
InstrumentsCPU / メモリ / 起動時間 / ネットワーク / Energy などのプロファイラ
Asset Catalogアプリアイコン、画像、カラーセットの一括管理
Xcode Server / xcodebuildCLI ビルド、CI 連携

サポート言語

言語位置付け
Swift現代の標準言語。SwiftUI / Swift Concurrency / Macros など最新機能はここから
Objective-C過去の主役。既存資産が膨大なため今も保守用途で現役
C / C++低レベル処理、ライブラリ、ゲームエンジン連携
Metal シェーディング言語GPU シェーダ(Apple 独自の Metal API 用)

動作環境

項目要件
OSmacOS のみ(Windows / Linux 不可)
Mac の世代Apple Silicon(M1/M2/M3 系)または比較的新しい Intel Mac
ディスク容量40〜60GB 程度(OS 別途)
メモリ最低 8GB、快適には 16GB 以上推奨
料金Xcode 本体は無料。App Store 提出のみ Apple Developer Program(年 12,980 円)が必要

インストール手順

  1. Mac App Store を開く
  2. 検索欄に「Xcode」と入力
  3. 「入手」→「インストール」を押す(容量が大きいので時間がかかる)
  4. 初回起動時に追加コンポーネントとライセンス同意を求められるので承諾

古いバージョンや Beta 版が必要な場合は Apple Developer のダウンロードページから手動で取得します。

典型的なワークフロー

  1. 新規プロジェクト作成 ─ File → New → Project からテンプレート選択(iOS App / macOS App / Multiplatform 等)
  2. UI 構築 ─ SwiftUI でコード書き / または Storyboard で配置
  3. シミュレータで実行 ─ 上部のスキーム選択でデバイスを選び、▶ ボタンで起動
  4. 実機で実行 ─ Lightning / USB-C で iPhone を接続し、デバイスを選択して ▶
  5. Archive ─ Product → Archive でリリースビルド生成
  6. App Store 提出 ─ Organizer から Distribute App → App Store Connect

実機ビルドで詰まりやすいポイント

症状対処
Could not locate device support filesiPhone の iOS が Xcode より新しい。対処記事 を参照
署名エラー(Signing for ... requires a development team)Project → Signing & Capabilities で Apple ID を Team に設定
Untrusted Developer(iPhone 側のダイアログ)iPhone の 設定 → 一般 → VPN とデバイス管理 → 自分の Apple ID を信頼
ビルドは通るが起動しないシミュレータをリセット、または Product → Clean Build Folder(Shift+Cmd+K

便利なショートカット

キー動作
Cmd+Rビルドして実行
Cmd+Bビルドのみ
Cmd+.実行停止
Shift+Cmd+KClean Build Folder
Cmd+Shift+OOpen Quickly(ファイル / シンボル横断検索)
Ctrl+I選択範囲を再整形

SwiftUI と UIKit の選択

iOS 開発の UI フレームワークは現在 2 つの選択肢があります。新規プロジェクトは原則 SwiftUI から始めるのが Apple 推奨ですが、現場ではまだ UIKit 資産が大量にあります。

項目SwiftUIUIKit
提供開始iOS 13(2019)iOS 2.0(2008)
記法宣言的(コードで UI 構築)命令的(Storyboard or コード)
プレビューXcode のライブプレビューStoryboard で静的プレビュー
学習コスト低(React 経験者なら特に楽)高(ViewController ライフサイクル等)
使えるバージョンiOS 13 以降が必須iOS 全バージョン対応

SwiftUI と UIKit は UIHostingControllerUIViewRepresentable で相互に組み込めるため、既存 UIKit プロジェクトに SwiftUI 画面を段階的に追加する移行戦略が一般的です。

サンプル ─ 最小の Swift iOS アプリ

import SwiftUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

struct ContentView: View {
    @State private var count = 0
    var body: some View {
        VStack(spacing: 20) {
            Text("カウント: \(count)")
                .font(.largeTitle)
            Button("+1") { count += 1 }
                .buttonStyle(.borderedProminent)
        }
        .padding()
    }
}

この 1 ファイルだけで「ボタンを押すとカウントアップする iPhone アプリ」が完成します。@State で状態を持ち、ボタンクリックで値を変更すれば SwiftUI が自動で再描画します。

関連

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

最近更新/作成されたページ