XDでモックを作成してから開発するストーリーボードは複数に分割して管理するMVCアーキテクチャを導入して開発する対応するバージョンを決める使用するOSSライブラリ一覧デバック用のテストリリースツールを決めるデプロイの手順を決めるはじめにこの度、古くから面倒を見てもらってる先輩からiOSの開発依頼を受けて久しぶりに開発することになりました。(会社が副業OKなの助かりました。)それにあたりどのようにiOSを開発するのか。した方が良さそうなのかを大きく7つの項目で纏めておくことにしました。XDを使って作成することにしました。直感的な仕様で、使いやすく40枚越えのアプリのモックもサクサク作ることができました。ケーブルで繋ぐだけで実機で動作確認もできるのがgoodでした。cloudに登録していたのが決めた一番の理由です。prottとかでも問題ないかと思います。管理を考えてストーリーボードを分けようと考えています。muchな気もするので、今回は意味別に分けて7つくらいに分けておこうと思います。【Xcode】Storyboardを複数に分割して管理する方法MVCアーキテクチャを導入して開発するiOSの開発にもかなりの数の推奨アーキテクチャがあるようです。今回の受託内容は新規開発のみで、今後の継続開発は他の方にお任せする可能性もあるので、将来的な共通理解の意味も込めてアーキテクチャの導入は行っておこうと思います。一覧のまとめは図解して紹介してくださっている、この方の記事が一番わかりやすかったように思います。Architectureで実装してみたそして、今回導入しようと思ったのがMVCモデル。WEBでもよく使われてるやつですね。こちらに決めた理由は1人での開発なのでそこまで分けるコストをかける必要ないとは言っても、引き継ぎの可能性も考えてオレオレな構成はやめておきたい引き継ぎの際の学習コスト低い方がいいロジックをmodelに分けるだけでもだいぶスッキリしそうという感じです。最近の流行りはもっと細かく分けて依存関係なくすものなんですけど、それを導入するには少し規模が小さいかなと思いこのような判断にしました。公式mvc構成にする場合、もちろんディレクトリを分けると思うのですが、その時に便利なライブラリがsynx。これを使うと、xcode上で切り分けたディレクトリ通りにローカルのディレクトリ構成も直してくれる便利ツール。venmo/synx対応するバージョンを決める対応するバージョンを決めるためには、iOSのバージョンのシェア率を確認しながら、先方と話し合うことが大事です。以下の公式サイトからバージョンのシェア率を確認することができます。今回は、iOS10までの対応で行こうという話になりました。用途に合わせて使用するライブラリは先に決めておくと、無駄に自分で独自開発することなく済むので効率的です。(自分で開発すると勉強にはなりますが、品質の面でも劣ることが多いです。OSSはすごい)以下のサイトが鬼のようにまとめてくれているので、こちらから探せばいいと思います。OSSライブラリを鬼のようにまとめてくれているサイト書いてたら長くなりそうなので、別の記事にまとめました。http://www.ohmg.tokyo/entry/ios-use-oss-library/デバック用のテストリリースツールを決める次に、デバック用のテストリリースツールを決めたいと思います。storeにリリースする前に、実機にダウンロードして動作を確認することができるツールです。違い今回採用するのは、TestFlightにすることにしました。Programに入っているため、追加コスト無しクラッシュ検知に追加SDK必要無しバイナリの登録方法も簡単そうというふわっとしたやつです。こだわりはありません。デプロイの手順を決める以下のサイトがしっかりまとまっていたので、車輪の再開発する必要なく参考にしながら進めたいと思います。iPhoneアプリ申請やAppleの審査に関するメモ以上、iOSアプリを新規開発する際に決めた大事な7つのことでした。誰かに見せるというよりは、自分のdocument代わりなので、足りない部分があるかもしれませんが、何か参考になればそれはそれで嬉しいです。これに則って開発したら行き当たりばったりよりはスムーズに開発できると思います。作詞作曲)/新卒2年目エンジニアです。赤坂と浅草におります。メディアと音楽とアプリとを作ってます。