【iOSアプリ】AppAppの制作手順をゆるゆると紹介します〜〜

どうも。Reoです。

リリースしました記事を書き終わったのに、いまだAppStoreに反映されていないので投稿できずにいます。この記事を書き終わる頃には反映されているといいな。

リリースしました記事はこちら→(【iOSアプリ】AppStoreのアプリを整理するアプリ「AppApp」をリリースしました!

まずは上記を読んでいただけるとAppAppがどんなものかわかるはずですー!

簡単に言うと、AppStoreのアプリにラベルをつけて整理するよーってアプリです。

 

 

先月(2017年11月)13日頃、ありとあらゆるストレスが爆発して完全にメンタルが死んでいました。

Twitterのアカウントを消したり、iPhoneのデータを飛ばしたりなんだりして、色んな人との連絡を絶ってたくさん迷惑をかけてしまいました。ごめんなさい。

もはや自分のリアルでの友達なんかはTwitterアカウントがないのを見ても、またかーぐらいの気持ちでいてくれていると思っているのですが、そうではない色々な方が心配してくださっていて本当に申し訳ない気持ちでいっぱいです。心配してくださる方が増えたのは本当にありがたいことですよね・・・。

二週間ぐらいあらゆる連絡を絶っていたわけなんですが、その二週間なにしていたのかというと、新作アプリを作っていました。

チームでの作業や、 リリース済みアプリのアップデート等やることは盛り沢山だったんですが、それを全部投げて作ったアプリです。なので、全然褒められるアプリじゃないんですが紹介していきますね。

一週間くらいメンタルが死んでいたいので、11月20日から作り始めました。

 

AppAppを作ったきっかけ

最近アプリのUIやアイコンの勉強をするために色んなアプリをいれるようになりました。

特にPageViewController系のアプリ(AppAppもそう)を見かけるとどんな挙動しているのか一度見てみたくなる衝動に駆られ、使いもしないアプリがどんどんホーム画面を埋めていくわけです。

自分はモノ作っているわりに使うことに関してはあんまり興味がなくって、日常的に使うアプリなんかは両手で足りるくらいです。片手でも十分かもしれない。

今現在数百のアプリがインストールされていてその中の10個ぐらいしか使わないっていう。

その半分以上がUIを見るために一度入れただけのアプリっていう。

それをとにかくどうにかしたかった。アプリをまとめて置ける場所が欲しかった。そういう思いからAppAppはできました。

 

思いついたらあとは作るかどうかッ

 

ノートに書き出す

まずはノートにガリガリ。と言っても最初から作るアプリは決めてたので、どういう仕組みにしよう〜ってのを書き書きしました。

 

メモ書きでも字がキレイな人はスゴイなー。汚くてゴメンナサイ。

 

企画書っぽいものを作る

ある程度書いたら仕様をしっかり固めるために、企画書兼仕様書みたいなのをつくります。

この企画書っぽい物はアプリ作るときは毎回作るようにしているんですが、如何せんマトモな企画書に触れたことがないため適当です。

本当は10ページ分あるんですが一部の抜粋で失礼します。

 

画像に含めませんでしたが、機能とかも箇条書きで書き出しています。

 

企画書の途中まで書いたところでデザイン先に決めな書きづらいなーってことでデザインをポチポチ考える。デザイン通りにアプリができたことなんてないけれど(

 

自分はデザイナーではないのでTHE テキトーです。

どちらもIllustratorで作っています。すけっちなんて高等なものもってないの。(イラレのが高いのではっていうツッコミは無しで。ちなみにCS6です。)

 

こうやって見ると出来上がったものはわりと機能省いていますねー。随時アップデートはする予定です。

ここまでで2日くらいかかったようなかかってないようなぐらいです。

 

Xcodeで開発〜

Xcodeでプロジェクト作成していきます。あとはgit initもしておきます。Gitがないと生きていけないからだになってしまった。

プロジェクト作成日が11月21日になっています。

あとは開発していくのみです。

今回自分のプロジェクトでは初のRealmを用いてデータ保存しています。iCloud使いたかったし、これこそCoreData使うべきだろって思っています。今更です。

ガリガリと11月21日から12月2日までひたすら作りました。

初めてShareExtensionを使ったわけなんですが、その辺がちょっと躓いたかなーという感じ。あとはRealmのマイグレーションが出来なくて出来なくてそれで丸一日は潰しました。

 

入れているライブラリはRealm関連だけです。StoreKitとかのフレームワーク入れているけど。

ページングのUIのためにわざわざライブラリなんていれないんだからね・・・っていうアピールです。

まぁ本来はライブラリも色々入れたほうがいいものもあるんでしょうけど、そういうのには疎いのです。

 

あとは今回頑張って使えるところはIBを使いました。可変セルをやるためだけなんですが、とにかくオートレイアウトが厄介。そこに神経一番使ったかもしれないですね。

本当はストーリボードも全部使ってやろうとも思ったんですが、やっぱり楽しくないしコードで書くほうが早いし・・・って思ってオートレイアウトしたいところでだけ使う形にしました。

オートレイアウトはコードで書くの面倒なんすよ。。。

 

あとはiPhoneXにもちゃんと対応しておりますぜ!

 

アプリのロゴとアイコンを作る

ロゴが即行で出来たので、アイコン作るのもそんなに時間かかりませんでしたね。

11月30日に作ったそうです。かけた時間は半日くらいかな。。。そんなロゴとアイコンは以下になります。

ロゴ

 

アイコン

 

アイコンが車見たいとか言われたけど車じゃないです。AppのAです。

アイコンはロゴを生かそうと思ってちょいちょい悩みました。ボツ案がなんとも言えん。

しかも透過pngで作ってて後からiTunesConnectにビルドあげるときに怒られました。

上の見出しの色は青に決定しましたが、季節に合わせて変えようかな〜とも思っています。

見出しっていうかこれなんていうんだっけ、付箋じゃなくて・・・

まあでもこんだけしか作ってないんで少ないもんですねー。

 

あとは最後に残していたチュートリアルが楽しくなってわりと立派なものを作ってしまった気がします。

 

いざ審査へ!

実は12月2日が自分の誕生日でして、どうしてもそれに間に合わせたくて頑張っていました。

当日はお出かけしたり遊び回りたいし!ってことで一応間に合わせて審査出しました。

審査出す直前にTestflightを行なってデバッグしてもらったんですが、その方がまさかのUSのAppStoreでアプリが保存できない事態になりまして。そのためローカライズもしてないのに無駄にUSストアにも対応しています。

そんなこんなで一度どうにか審査出したんですが、2日の夜にiPhoneXの実機テストができるようになりまして、審査取り消してX対応しました。

後から気づいたんですがX対応したせいで下のツールバーが隠れなくなりました。まぁいいかな・・・。

んでその日の夜には審査出しました。

 

2回のリジェクト!!!!

最近は審査までの時間が短いので大した痛手でもないんですが、2回リジェクトくらいました。

どちらもスクリーンショットで。リジェクト内容は2回とも全く同じです。

 

まずはこのスクリーンショット画像

 

はい、AppStoreがうつっているのでアウトです。

ここ結構大事なポイントなのに!と思いつつとりあえずこれだけ取り消して二度目の審査へ

 

次はこの画像

 

はい、色んな方のアプリが載っているのでアウトです。

これ、本当は自分のアプリだけでやったら行けたのかなーと思いつつもうリジェクトされる元気もないので、諦めて全てのスクリーンショットを調整しました。

 

つらい。

 

全部AppAppのアイコンを並べたろかと思ったんですが、それはそれで誤解を招きそうなのでやめました。

 

そんなわけで2日夜に審査に出して、本日7日に無事リリースされました。

審査のストレスがやばすぎて朝起きて結果見るのが嫌で嫌で、最近は寝てばっかりでした。やっと解放される。

審査終わって口座の設定とかを何もしてなくてそこ書くのにちょっと時間がかかってしまいましたが無事リリースです。。。

 

 

開発期間は今までで最短の約14日です。

まさか今年新しくアプリを出すなんて考えてもなかったなー。

思いついて20日以内にリリースされていると考えたら、地味に頑張ったと思います。

まぁ完全趣味で作っていますし、作っている間が一番イキイキしてました。審査出してから思い出したかのように死んでました。

色んなことを投げ出してまですることだったのかと言われればNOですし、そこは申し訳ない気持ちでいっぱいです。ご迷惑、ご心配おかけしました。

 

しかし実はこのアプリ、まだインプットするだけでアウトプットする機能がついてないんですよね。企画書にしっかり書いてある部分の実装をしてないんですよ。

つまりはシェアする機能です。ラベルごとにまとめたアプリを丸っとシェアできるように考えています。

とりあえずそこをつけたらこのアプリはもう満足です。あとローカライズもすれば満足です。あと検索もつけたら満足です。(キリナイ)

あとは何かご要望があって自分も欲しいと思えばつけようと思います。

致命的なバグがない限りは年内更新は流石にないかな・・・。

 

とにかく自分は2週間でアプリ1本作れることができるくらいには成長したんやなーと思うと、これからどんだけでも作れる気がするね。

まぁ作ったら作った分だけ保守をしないといけないと思うと、なかなか重荷が増えてってつらいなーとも思うんですけどね。

保守・・・しないとな・・・

 

大した手順紹介でもないんですが、この辺で〜。

AppAppよろしくお願い致します!
23歳になった私Reoもよろしくお願い致します!

 

 

2018/04/13追記 AppAppは配信停止しました。
現在AppStoreにてダウンロードすることはできません。
大変申し訳ございません。



配信停止しましたっていうか強制配信停止になったが正しいんですけどね。タブーなアプリだったんですよね。

でも正直自分のアプリの中で一番使ってます。神アプリ。
コメントは認証制です。詳しくは下記の注意をお読みください。お気軽にコメントお願いします!

Write a Comment

コメント時の注意

「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。

Related Memo...

UINavigationController + UIScrollView の組み合わせで使っている時に謎の余白ができる時

UINavigationController + UIScrollView の組み合わせで使っていて、UIScrollView 上に AutoLayout で上下左右0で View を設置しているのに、30px程度上にずれてしまうとき。

`navigationController.navigationBar.isTranslucent = false` にすると直るかもしれない。

ScrollView上のコンテンツとNavigationBarの重なっているところが透過していたら多分これで直せるはず。

通常のターゲットではちゃんと動いているのに、iOSSnapshotTestCase を用いたテストでだけこの対応が必要なのよくわからないけれど。。。

iOS

記事を書くほどでもないけれどメモっておきたいこと

テスト投稿。

例えばiphone7 の画面サイズ

750 × 1334
半分375 × 667

iOS

UITableView.RowAnimation の .none はアニメーションするよ

UITableView.RowAnimation の .none はアニメーションがnoneなわけじゃなく、デフォルトの設定を使うよという意味らしい。

The inserted or deleted rows use the default animations.

なのでアニメーションしちゃう。今更の気づき。

 

iOS
more