プログラミングが特別なものでなく、多様な仕事やライフスタイルをより良くする、誰もが使える日常のツールとなる社会を目指します。スマホアプリSwift/Kotlin及びバックエンド開発、教育活動に力を入れております。
プログラミングが特別なものでなく、多様な仕事やライフスタイルをより良くする、誰もが使える日常のツールとなる社会を目指します。スマホアプリSwift/Kotlin及びバックエンド開発、教育活動に力を入れております。

1.5)文系のためのはじめてのXcode – 基本設定項目編 2/2-

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

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


プロジェクトの下にターゲットがひとつあります。必要であればさらにいくつかのターゲットをつくっていきます。プロジェクトとターゲットに同じ設定項目があれば、ターゲットが優先されます。


ではどんな場面でターゲットをつくるのでしょう。例えば、塗り絵アプリをつくろうとプロジェクトを作成し、ドラえもん、サザエさんで画像リソースだけ別にしたい場合を考えてみてください。もしプロジェクトをもうひとつ作ったとしたら、プログラムソースコードをドラえもんで修正し、さらにサザエさんのアプリでも修正しなければなりません。


そんなときにターゲットを使うとプログラムなどは共通、画像やアプリ名だけ別にして修正を限りなく少なく別のアプリをつくることが出来ます。
ただし結局各々で設定を変更するため、便利ではあるのですが、行き過ぎると修正量はかわらなかったり、どこが違うのか見えなくなるなどメリット・デメリットが相反してきます。そのためこのあたりは皆さん試行錯誤しているのが現状です。


またアプリを作成する上でスキーム設定も覚えておくと便利です。
細かい設定方法を覚えるのは後でよいです。とりあえずどんなことが出来るのか、どこを見るのかだけ覚えましょう。

プロジェクト

InfoとBuild Settingsの項目があります。Build Settingsはターゲットにもあります。

Info


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

Deployment Target動かせる対象OSの設定、iOS9やiOS10でも使えるようにしたい場合は9.0を設定
Configurations

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


一般的にデバッグで作業をすすめ、公開前にリリースビルドでビルドします。

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

ターゲット

General

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

アプリ名アプリの名前を設定
Bundle Identifierアプリを特定するためのユニークなID、なんでもよいのですが、com.xxxx.xxxなど社名などのドメインアドレスを逆転するのが一般的です。
バージョンアプリのバージョンを設定します。最初1.0.0とかにして次に1.0.1や1.1.0にしたりします。ビルドが内部番号なのに対して、ユーザーに見える番号になります。
ビルド開発で使うアプリの内部管理番号です。ユニークにすることで間違ったアプリをアップしないようにします。
プロビジョニングプロファイル他の人が勝手に利用できないように各々のプロファイルを設定します。最初の鬼門でしょうか。よく出てきます。
ターゲット(対応iOS)プロジェクトと同様。こちらが優先されます。
デバイスiPhone/iPad、両方で動作させるか設定できます。最初はiPhoneだけにしてもよいかもしれません。
デバイスオリエンテーション(回転制限)ポートレイトだけ設定すればiPhoneをかたむけても回転をさせないように設定できます。必要がなければ固定したほうが不具合を減らすことが出来ます。
ステータスバー(ステータスバーの表示)ステータスバーを常時表示させないことができます。
アイコンiPhoneのホーム画面で表示するアイコンを設定します。
起動画面起動したときに表示されるスクリーンショットを設定できます。

Capabilities

プッシュ通知、ゲームセンター、課金などiPhoneの機能を利用するための許可設定です。



必要になったときに設定しましょう。今はよいですが、プロビジョニングファイルにも関係があることだけ覚えてください。

Info

info.plistファイルの内容をビジュアル的に変更できます。

この中の項目も他設定と重複する箇所がいくつかあります。
info.plistの重要な設定は以下となります。

Localization native development regionベースとなる言語を設定します。日本語の場合でも多言語対応の可能性が少しでもあるのであれば、英語をベースとして日本語を追加したほうが後々便利です。
Privacy -xxx-地図やカメラなどOSの機能を利用するための許可文言を設定します。この設定がないと利用できません。
App Transport Security Settings安全な通信をするための設定をします。httpsで通信する場合などで利用します。

Build Setttings

アプリを構築する際の詳細設定を行います。アプリを生成する作業はビルド、コンパイルという言葉を用います。

機械はどんなに高性能になっても基本は0と1でお話をします。これをマシン語と読んでいます。我々は0と1では話せないので、翻訳する必要があります。コンパイルはこの翻訳作業にあたります。
我々の理解できるSwift言語で書いたものを、機械がわかる言葉に変換します。ビルドはさらに様々な人が書いた文章を構成し、まとめる作業に似ています。

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

Build Phases/Build Rules

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

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

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

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


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

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

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

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

スキーム

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

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

デバッグとリリース用で処理を動的に区別したり、ビルド前に何か処理をするときなど便利です。

どんなものがあるかだけ覚えておくと、後で使うときに抵抗がないかもしれません。

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