今回始めてiphoneアプリを作ってみたのでログを残しておく。

作ったアプリは、月齢カレンダー

作ろうと思ったきっかけ

  • 今年はiphoneアプリを仕事で作る可能性が結構高い
  • ゆくゆくはjavascriptでアプリを作りたいが、ネイティブでの作法ををまず知っておきたい

ということで、swiftについてはそこそこに流して、リリース周りとかその辺を知ることを目的にした。

このあたりを触りだけでも覚えたい。 - アプリの開発からリリースまでの流れ - xcodeの使い方 - Itunes connectで何をやるのか - Fabricの使い方 - テスト版アプリを配信する方法 - リリース後にどこをみるか計測するか

上記を優先するために今回はやらないことをなんとなく決めた - Sketchでワイヤー作るとか - Firebaseを使う - RX Swiftを使う - バックエンドが必要な処理 - ログインが必要な処理 - バックアップしたり復元したり - 広告とか課金

広告とかは後で入れたりしてみたい バックアップ機能とかもユーザーがもし増えたらつけるかも

まずは勉強

絶対に挫折しない iPhoneアプリ開発「超」入門 第6版 【Swift 4 & iOS 11】完全対応を読んでちゃんと全部やった。

kindleにある本で新しい順に検索して最新のxcodeに対応してる本を選んだ。

この本はプログラムの初歩から、RSSリーダーの作成までを行うのだが、xcodeの使い方を図示してくれているので、xcodeの使い方をしる上ではかなり役立った。 正直xcodeの機能とか書くインタフェースの意味ってこういう本見ないとよくわからないのでは…

何を作るか

妻が、子供の記録をつけるのに月齢と一緒にメモしたい。シンプルなものがいい。みたいな事を言っていたので、それを作ることにした。

簡単に画面書いたら3画面だったのでちょうど良さそう

開発

お世話になった情報とか

リリース

アイコンを作るのを妻に頼もうと思ってたが、なんやかんやで自分で作った。

affinity designnerで作った。 リリース用のスクリーンショットなどもこれで加工したりした。

リリース時の署名とか権限リクエストとかそのへんで前にElectronアプリをMac App storeに出そうとしたときは色々エラーが出すぎて挫折したが、iphoneはすんなりと簡単にリリースできてよかった。

感想

xcodeとswiftはそれぞれ単体ではまあ使いやすい気がするのだが、なんかiOSアプリ開発全体で見ると、単純な画面遷移とか一つとってもsegue使えばいいの?とかコードで書いたほうがいいの?とかよくわからなかったり。 よくわからないところが結構ある、無理やり動かした感じ。

ググってても、古い情報が多かったりで意外と情報がないように感じた。 Swiftのアップデート速度が速かったり、GUIで作業することが多くなってスクリーンショットを多用しないと残せないという問題のせいなのかなぁとか。

でもiphoneアプリ開発自体、思ったよりかなり簡単ですぐに動くものが出来るので楽しいですね。