現役プログラマのプログラミング教室@岡崎市康生町一隆堂ビル, Android/iOS(Swift/Kotlin)のアプリ開発、デジタル漫画制作を主軸事業としています。

1.5)文系のためのプログラミング – Xcode基本設定項目編 2/2-

プロジェクトとターゲット

設定画面をみると似た項目に気づきます。プロジェクトとターゲットです。
ここでアプリをつくる際の詳細設定が出来ます。

プロジェクトの下にターゲットがひとつあります。必要であればターゲットは追加することができます。

ひとつのプロジェクトに対して各ターゲットの設定をします。例えばコーヒーアプリプロジェクトの下に東京エリアターゲット、大阪エリアターゲット、九州エリアターゲットなど設定をわけることができます。

プロジェクトとターゲットに同じ設定項目があれば、ターゲットが優先されます

共通のデータはプロジェクトに設定して、エリアごとの設定はターゲットにもたせてアプリを展開するなどが可能になります。(この場合アプリが別の場合になります。最近そういったものは少ないと思いますが)

ただし結局各々で設定を変更するため、便利ではあるのですが、行き過ぎると修正量はかわらなかったり、どこが違うのか見えなくなるなどメリット・デメリットが相反してきます。そのためこのあたりは皆さん試行錯誤しているのが現状です。

プロジェクト

InfoとBuild Settingsの項目があります。Build Settingsはターゲットにもあるのでそちらでみていきます。

Info設定項目をみていきます。

Info


 
よく変更する項目は以下になります。

Deployment Target動かせる対象OSの設定、iOS14やiOS15でも使えるようにしたい場合は14.0を設定します
Configurations

Debug開発用/Release公開用など設定を分けたいときに追加作成します。デバッグ開発はプログラマー側が自由にテストしたりする場合、リリース開発はデバッグでテストした機能を公開するための環境設定になります。一般的にデバッグで作業をすすめ、公開前にリリースビルドでビルドします。

Localizations多言語化対応で使用します。中国語や英語に対応させたい場合に追加してきます。

ターゲット

ターゲットの設定項目をみていきます。

General

一般的なアプリ設定を行います。

Minimum DeploymentsインストールできるOSバージョンを設定します。
App CategoryAppStoreでも使うアプリのカテゴリを設定します。
Display Nameホーム画面で表示されるアプリの名前
Bundle Identifierアプリを特定するためのユニークなID、なんでもよいのですが、com.xxxx.xxxなど社名などのドメインアドレスを逆転するのが一般的です。
Versionアプリのバージョンを設定します。アップデートリリースなどはここの番号を増やしていきます。1.0の次は1.1にしたりします。ビルドが内部番号なのに対して、ユーザーに見える番号になります。
Build開発で使うアプリの内部管理番号です。ユニークにすることで間違ったアプリをアップしないようにします。
Deployment Infoポートレイトだけ設定すればiPhoneをかたむけても回転をさせないように設定できます。必要がなければ固定したほうが不具合を減らすことが出来ます。
App Icons and Launch Screenアイコンassetの指定、起動したときに表示されるスクリーンショットなどを設定できます。

Signing

非常に重要ですが、完全に理解するには長くなるので、証明書の設定するところとだけ一旦覚えておいてください。autoを選択しておけばある程度自動でやってくれるので便利です。

Capabilities

プッシュ通知、ゲームセンター、課金など権限許可が必要な機能を使う場合は追加します。

Info

ターゲットのInfo設定です。様々な要素の設定プロパティです。項目の内容は必要になったときに少しずつ理解していきましょう。

Build Setting

ここも様々な設定がありますが、ファイルへのパス設定(ファイルがどこにあるファイルを使っているか)を見たりすることが多い印象です。

※予備知識: CPUのアーキテクチャとは
iPhone端末のCPU、人で言うと脳の種類と考えましょう。時もたてば進化した脳に変わります。故に考え方も進化し、どの脳に対応させるか指定する必要がでてきます。
誰かの作成したライブラリを使うときなど、ある程度開発ができるようになると色々設定することがでてくると思います。それまでは今のXcodeで設定することはあまりないかと思います。

Build Phases/Build Rules

最初はあまり使うことはないと思います。

初期で使うとすれば外部ライブラリを入れたり、うまくビルドができないときにCompile Sourcesやリソースに入っているか、依存関係ができているか、ライブラリの設定がされているか確認することがあります。

ライブラリとはそれを入れてつくると使える機能を集めたプログラミング群です。有名なライブラリがたくさんあります。2018年これだけは知っておきたいiOSライブラリ31選

リソースとはアプリで使用する画像などの素材群です。


また慣れてきてから最も利用すると思われるのがスクリプトの記述でしょうか。



左上の+ボタンを押下するとRun Script Phaseを作成できます。

すると上記のようなスクリプトを記述できる項目を追加できます。
このスクリプトの追加は、アプリを作成する際に何か作業をさせたいときに使います。
例えばビルド番号をかえたり、環境を切り替えたり、アプリの生成時に動的に変更したい場合などによく使われます。

最初は無視して大丈夫です。

スキーム

左上のプロジェクトボタンを押下するとEdit Schemeというメニューがあらわれます。

ここではrun script同様ビルドに関連した設定が出来ます。

デバッグとリリース用で処理を動的に区別したり、アプリを最終的につくるビルドという操作の前に何か処理が必要なときに使うと便利です。

RunがRunボタンでプログラムを実行したときの設定、TestはTestボタンでプログラムを実行したときの設定、Archiveが最後にアプリを製品としてビルドするときの設定になります。

ビルドとは

これまでの記事を読んでいただてる方は、パソコンやスマホのCPUはソースコードをそのまま読まない、理解できないことをご存知かと思います。

ソースコードをパソコンやスマホのCPUが理解できるようにコンパイルという変換作業が行われいます。

しかし、アプリの開発業務をしているときにコンパイルという言葉はあまり耳にしません。「ビルドお願いします」とビルドという言葉を使います。

サンプルアプリのような一見少しのプログラムコードでも、実際は多くのソースコードが隠れて含まれています。見えないところで私達が一部をプログラミングするだけで、すごい機能が使えたり表示できる仕組みになっているのです。

ビルドは、ソースコードをコンパイルするだけでなく、複数の様々なプログラムどうしをまとめるあげる作業にあたります。

プログラムを世の中にだすには、プログラミング言語を覚えるだけでなく、環境構築技術も知識として重要になってきます。


いかがでしょう、これだけでお腹いっぱいになりますよね(笑)。

どんな設定があるかだけ知っていれば問題ありません。忘れたらGoogle検索すればよいのです。