イラスト2

iPhoneアプリの作り方

こんにちは、キラキラ🌟Web系エンジニアです。普段はSES企業で請負案件のシステムを開発しています。

この記事ではiPhoneアプリの作り方について、初心者にも分かる様に専門用語の解説も踏まえて書いていきたいです。完全初心者の方には厳しいかもしれませんが(継承とかオブジェクト指向とか基本的なことは分かっている前提で)、プログラミングの基礎を知っている方、また実際にiPhoneアプリを作成している方にも「この人はこうやってやっているんだな」という知見が得られると思います。

1前準備編

まず必要なものはMacBookです。
買ったら以下のソフトを入れます
・Xcode
これがどういうソフトかというと、統合開発環境です。
統合開発環境とは、
そもそもプログラムは
1プログラムを書く(「エディタ」を使用)
2コンパイルする(「コンパイラ」を使用)
という順番で動かします。
そして統合開発環境とはエディタとコンパイラが一体化したものという理解で良いと思います。
iOSアプリ(iPhoneアプリ)はこれで開発します。

2プログラム編

プログラムは正直自由に組めば良いと思いますが、よくやることをあげておきます。ガイドラインになればと思います。
<構造について>
UIApplicationDelegateクラスのサブクラス
アプリケーション全体のイベントをハンドリングできます。例えばアプリが立ち上がった際に行いたい処理はこのクラスに書きます。デフォルトではAppDeligateというクラスが存在します。

ユーザインターフェース※(Main.storyboard)
iOSアプリのUIはこのファイルでGUI(マウスでドラッグ)で作成します。
基本的には画面とイベントハンドラのファイルが1対1という構成となっています。
「本ファイルでは画像が何画面あって。。。」といったことや「その画面の中にはどういうコントロールがあって。。。」などを定義します。イベントハンドラのファイル名もここで定義します。
※ユーザーインターフェース:ユーザがシステムと接する時のインターフェース(見た目)

イベントハンドラのファイル(ViewController)
それぞれの画面のイベントハンドラを記述するファイルです。
上にも書きましたが1画面につき1つのファイルを作成することが基本となります。
イベントハンドラとは「ボタンを押したらこうしたい」と思った時の「こう」の部分のことです。
「ボタンを押す」というのが「イベント」でありそれを「ハンドリング」(捕まえ)その処理が「イベントハンドラ」という意味です。

永続化(ローカル)
アプリによってはアプリ内でユーザーが選択した情報や書いた情報を端末内に保存したい場合があります。その場合に用います。具体的な技術としてはSQLiteやRealmなどがあります。
自分のパスワード管理アプリではCoreDataというSQLiteのフレームワーク※を用いています。
※フレームワークとはここでの具体例で説明すると「SQLiteを使うにしても別の見せ方(操作性)で使える様にするというような概念です

永続化(クラウド)
Googleがfirebaseというモバイルアプリ開発のサーバー部分(バックグラウンド処理)を統合的にまかなってくれる神webサービスを無料で提供しています。
クライアントサーバーシステムを作りたい方は利用すると良いと思います。DBに関してリアルタイムデータベースでクライアント側のコントロールで例えば文字を1文字打ったら即座にクラウドDBに反映されるみたいな使い心地でした。(初心者の方への補足説明としてクラウドで永続化するのと各端末で永続化するのとどう違うかという話ですが、DBの数が違うということです。クラウドの場合は1個に対し、各端末の場合は端末の個数分となります)

ローカライズ(多言語対応)
プログラム内で文字列を指定する時keyを指定しておいて多言語化したい言語ファイルを用意しておけば、ソフトがインストールされたiPhoneの地域情報によって適切な言語ファイルが選択されるという機能です。

収益化
GoogleAdmobでバナー広告を作成し、Admobのコントロールとしてアプリの貼り付けます。Webでバナー広告(広告の種類は他にもあります)のidなどを設定しアプリでidを設定し紐付けます。


3申請編

手順は省略し、基本的なことのみ記載します。
・AppleDevelopper登録が必要:年間1万円くらいです
・アプリ登録が必要です。AppleDevelopperみたいなサイトがあります
・アプリ登録とは別のサイトで申請の準備をします(itunes connect)こちらでアプリの申請フォーマットをまず作成します(アプリの説明やスクリーンショットを登録します)
・Xcodeから申請します。Build>Archiveを行った後Validationボタンを押しUploadボタンを押すという流れが基本的な流れとなります。
・利用規約が必要です。海外の方が作成してくれた(神)利用規約ジェネレータでサクッと作成し、自分のサイト※に貼り付けてそのURLをiTunes connectに指定しておきましょう。(自分はGoogleサイトというサービスで作りました)

4デザイン編

アプリにとってデザインはとても重要です。
アプリ作成でデザインを行うシチュエーションは大きく分けて以下の2つです。
1アプリ内で独自のアイコンなどを使いたい
2ストアの画像

1はアプリにもよりますが2に関しては必須となります。
申請時にスクリーンショットを提出するのですが、実情は「スクリーンショットの解像度で自由に画像を作り提出する」というのが一般的になっています。Appleの見解としては「ユーザーエクスペリエンス(UX)(ユーザ体験)」が分かる画像を提出してください。とのことらしいです。

<オススメのソフト>
オススメの無料の画像編集ソフトを紹介します。
MedibungPRO
お絵かきソフトですが画像編集にすごい使いやすいです。保存は独自の拡張子で保存されますが、透過PNGやJPGなどにも書き出しできます。

GIMP
無料で全て済まそうと思っている人は上のMedibungよりこちらのソフトを使う人の方が多いと思います。GIMPはPhotoshopやIllustratorで作られたファイルも開くことができるためモック画像を使いたいときに便利です。(インターネットには端末のモック画像は大抵の場合Photoshopかillustratorで配布されているため)

ImageMagick
CUIのソフトです。画像の解像度を変えたい時に便利です。

<色の基礎について>
自分でデザインも作る場合、色相、彩度、明度、トーンなどの概念は押さえた方が良いです。さもないとせっかく良い機能性でも使ってもらえないというとても残念なことが起こってしまします。。。

5保守編

Appstoreで評価などされることがあります。お客さんのありがたいコメントを参考にアプリをより良いものにしていきましょう。


いかがだったでしょうか。意外とやることは多いですが、スタバでやると進捗良いですよ^^
本文では触れませんでしたが環境を整えることもアプリ作成の重要な要因ですね。それでは!








この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

2