Xcodeとは?基礎知識とProjectとTargetの違い

Xcodeとは?基礎知識とProjectとTargetの違い

この記事からわかること

  • Xcodeとは?
  • Xcodeでできること
  • ProjectTarget違い

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

XcodeでiOSアプリなどを開発するにあたって基礎的なXcodeに纏わる情報と素人にはややこしいProjectやTargetの違いxcodeprojファイルの役割などを自分なりにまとめてみます。

Xcodeとは?

公式リファレンス:Xcode

XcodeとはAppleから提供されているアプリ開発などに用いられる統合開発環境(IDE※)です。iOSやmacOS、watchOSなど様々なApple製品で使用するアプリケーションだけでなく、アプリ開発をスムーズにするためのフレームワークやライブラリを開発するために使用されます。(画像は開発できるプロジェクト)

Xcodeの新規プロジェクト作成画面

※IDE:エディターやデバッガーなどアプリ開発に必要な機能を1つにまとめたソフトウェアのこと

XcodeはApp Storeに公開されているので誰でも無料でインストール可能です。容量が大きいのでインストールには注意してください。

おすすめ記事:Xcodeのインストール方法と使い方!終わらない時の対処法!

App storeの中のxcode

Xcodeでできること

Xcodeを使用することでApple端末に対応したアプリの開発からリリースまでを行うことができます。開発するためには独自のプログラミング言語であるSwiftなどでコードを記述する必要があります。

開発者を支援するための機能としてコード補完やシミュレーション機能など開発を円滑に進めるための機能も備わっています。

またApp StoreへリリースするためのApp Store Connectやバージョン管理ツールであるGit、GitHubとの連携もできるため開発者にとっては欠かせないソフトウェアになっています。

Xcodeの機能

Xcodeには数多くの機能が詰め込まれており、全ての機能を網羅するには途方もない時間がかかってしまいます。必要な機能だけを使いながらうまく開発に役立てていくことが重要です。

Xcodeプロジェクトを立ち上げる

Xcodeからアプリを開発するためにはまずXcodeプロジェクトを作成します。XcodeではProject(プロジェクト)という単位でアプリケーションの開発全体を管理しています。その際に開発するプラットフォームの選択、アプリの種類、アプリ名(Product Name)などを選択します。

Xcodeプロジェクトを作成するとアプリ名フォルダが生成され、中には選択したプラットフォームのテンプレートファイルが用意されています。

├── Xcodeプロジェクト
│   ├── .git
│   ├── プロジェクト名
│        ├──  Assets.xcassets
│        ├──  ContentView.swift
│        ├──  プロジェクト名.swift
│        └──  Preview Content
│          // ↓プロジェクトのIDEを開くファイル
│   └── プロジェクト名.xcodeproj

この中にあるxcodeprojという拡張子がついたファイルがプロジェクトのメインウィンドウを起動させるファイルになっています。

ワークスペースの名称

xcodeprojファイルを開くと以下のような画面になり、細かく作業スペースが分かれています。

Xcodeの新規プロジェクト編集画面
エリア名 概要
ツールバー プレビュー機種の変更
iPhone実機へのリンク
Runボタン( )など
ナビゲータ フォルダ階層とは異なるファイル構造
エディタ ソースコードの記述場所
キャンバス プレビュー画面(※)
インスペクタ アクティブになっている
ファイルやコードなどの設定情報が表示

ビルドとは?

プログラミング言語は人間が読みやすいようにされた言語であり、そのままでは機械は読むことができません。記述されたソースコードをコンパイルすることで機械から読めるように変換する必要があります。

Xcodeではビルドと呼ばれる機能でコードで書かれた文字を実際に動作するものへと変換しています。ビルドの過程の中にコンパイル作業も含まれています。

またビルドは実行(シミュレーターを起動)やテスト、アーカイブ(リリース用に変換)する際に必ず行われます。

Targetとは?

プロジェクト内ではTarget(ターゲット)と呼ばれる単位でビルド対象を管理しています。プロジェクトを立ち上げた時には最初から1つTargetが生成されます。1つのプロジェクト内には複数のTargetを含ませることができ、Targetごとにビルド設定やソースファイルを管理することができます。

例えばテスト機能やウィジェットなどは別Targetとして管理され、それだけでビルドが可能になります。他にもアプリの基本的な概要自体は同じで中身だけ切り替えたい時などに使用されます。

ProjectとTargetの違い

ややこしくなりがちなProjectとTargetの違いを改めて整理しておきます。

Schemeとは?

Scheme(スキーム)とはビルド時の設定情報を保持するコレクションです。Xcodeではビルドする際の設定が定義されており、スキームという機能で管理されています。

このスキームの中でビルド対象になるターゲットやシミュレーターのデバイスなどを選択可能です。また複数作成することができるので任意のタイミングで切り替えることが可能です。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index