#案外あっさり通った審査
前回の記事
https://qiita.com/konbei/items/0ee0c1093f88cd5bc423
で実機ないipadでクラッシュしたというリジェクトを食らってからまたバンバン来るだろうなとびびりながら再提出しました。で、次の日起きたらAppleからメール来ていて今度はどんなリジェクトかなーと思って開いてみたら
Welcome to the App Store.
とのことでしばらく実感わかなかったのですがリリース出来ました笑。結果的にリジェクト1回で通ってよかったです。Dropboxを導入しているのですがそこの初期設定がちょっとややこしいのでまずそこはいちゃもんつけられるなと思っていたのですがあっさりスルー。アプリ内に詳しく説明した動画(youtube)を埋め込んでおいたのが効いたのかなと思っています。
#アプリ紹介
ではどんなアプリ作ったのかというとhttps://itunes.apple.com/jp/app/%E6%99%82%E9%96%93%E5%89%B2%E3%82%AB%E3%83%A1%E3%83%A9-%E6%8E%88%E6%A5%AD%E6%AF%8E%E3%81%AB%E5%86%99%E7%9C%9F%E3%82%92%E8%87%AA%E5%8B%95%E5%88%86%E9%A1%9E/id1451784896?mt=8
時間割カメラ(授業毎に写真を自動分類!!)
授業の写真と普段の写真が混ざるのがいや、テスト前に授業の写真を探すのが大変といったお悩みを解決!!!
・アプリ内のカメラで撮影することで時間、曜日から授業を特定して自動でフォルダ分類!!
・写真を時間割のレイアウトから簡単に見つけることができる!!
・dropboxを用いた端末間の同期、バックアップ、アップロード対応でデータの保全性も抜群!!
・メールやtwitterへの写真の書き出しにも対応!!
・内臓カメラはオートフォーカス、タップフォーカス、ピンチズーム機能付!!
といったものです。自分でも上記の悩みから使いたいなと思ったアプリを実際に作ったのでとても楽しくずっと作れました笑。必要な機能は全部付けられたと思っているので満足です。
#制作上大変だった点、工夫した点。
大変だった点は正直いっぱいあるのですが今回は2つに絞って紹介します。
・画面全機種対応
当然いろんな画面サイズの機種に対応しなきゃいけませんがオートレイアウトなる便利な機能を使って画面の端っこに制約をつければだいたいなんとかなります笑。
しかし時間割の画面はそれだとレイアウトが崩れてしまったので授業ひとマスをその機種の画面サイズの何分の1みたいに設定したり、iPhoneX以降のベゼルレス(Safe Area)の影響で画面がズレたりした部分を計算して修正するのがめんどくさかったです笑
・DropBox同期機能
等アプリではボタン一つ押すだけでDropboxと同期できる機能を作りました。Dropboxの機能は公式ライブラリのSwiftyDropboxを使ったのでサーバー通信などのAPIを直接叩くことなく比較的楽に導入できたのですが同期自体のメソッドがなかったのでアップロード・ダウンロード・削除を組み合わせたアルゴリズムを作って実現しました。このアルゴリズム、1つのファイルをアップロード・ダウンロード・削除した度に端末やDropbox側のファイルを確認しとかないと通信が失敗してもアップロードした事になったりしてしまうのでそこのもれが無いように組むのが大変でした。
最後に一番工夫した、こだわった点ですがズバリ「データの保全性」です。写真データをアプリに内臓してるのでじゃあアプリ消えたらどうなるんだという部分が解決されないとこの手のアプリは使う価値がないと思ったので入念に対策しました。具体的には
・標準アルバムアプリへの書き出し
・gmailなど外部アプリへの書き出し
・Dropbox同期、バックアップ機能
・万が一アプリが起動しなくなった場合でもituensに接続してデータ取り出し可能
バッチリです。
#アプリ申請で苦労した点まとめ
・機種ごとのサイズのアプリアイコンをxcodeで登録しておかないとビルドアップロードできない。
・display name,bundle nameなどには「camera」など標準アプリを匂わせる名称は使えない。
・ストア説明画面に使うiPhoneとiPadのサイズのスクリーンショットが必要。
・Dropboxなどの外部サービスを利用する場合はテストアカウントを提示する必要がある。
・プライバシーポリシーを載せたサイトを提示する必要がある。
・クラッシュログの解析の仕方
https://qiita.com/ruwatana/items/cc470eb229d267d693b0
を参考にさせてもらいました。
参考になれば幸いです。
#今後の展開
今回リリースしたアプリですがまだまだ夢があります。大学・授業ごとのグループラインを作ってそこで写真や情報などを共有できるような機能を追加したらこのアプリ便利すぎて覇権取れるんじゃないかと笑。写真の著作権などの問題はありそうですがとりあえず今はこの機能の根幹となるDBとやりとりするサーバー通信の勉強(javascript,node.js)をしています。明確なビジョン見えたらサーバー構築取り組んでみたいです。
あとAndroid版もkotlin勉強しながらぼちぼち作ってます。今回のアプリ作成でswift及びiOSフレームワークかなり網羅して触れることができたのでいい勉強になりました。