読者です 読者をやめる 読者になる 読者になる

NSBlogger

意識高いブログ

iOSアプリ開発に役立つWebサービス&ツールまとめ

iOS

はじめに

iOSアプリ開発をしていて役立つWebサービスやツールがありますので備忘録としてまとめてみました。アプリ開発を始めるところからリリース後までを順番に書き並べています。ぜひiOSアプリ開発をしている方は参考にしてください。(Androidアプリ開発している方にも使えるものはあると思います。)

UI/UXを考える

f:id:Kamekiti:20160118015209p:plain

プロトタイプを作成する

アプリを作る前にデザインをまず決めますよね。その際に、実際にスマホで閲覧したときにどのように見えるのか、どのようなインタラクションにするかを議論します。そんなときに便利なプロトタイプ作成サービスがあるので、いくつか載せておきます。

サービス URL
Justinmind http://www.justinmind.com/
Flint for Mac https://www.flinto.com/mac
POP https://popapp.in/
Moqups https://moqups.com/
pentotype http://www.pentotype.com/
Pixate http://www.pixate.com/
Framer http://framerjs.com/
Design+Code https://designcode.io/ios9
app.eal http://appealapp.com/

UI/UXのヒントを得る

アプリのUI/UXを考えるときに、他のアプリはどうなっているかなぁと調査することがあります。しかし、App Storeからダウンロードしてインストールを繰り返すのは面倒ですよね。アプリによっては会員登録しないと使えないものもありますし、意外と手間暇がかかります。スマホアプリのUI/UXをまとめたサービスがありますので、そこで他のアプリの様子が確認できます。特に気になるものがあれば実際にインストールして使ってみるとよいかと思います。UI/UXに悩んだときにみてみると、何かいいアイデアが思い浮かぶかも。

サービス URL
UX Archive http://www.uxarchive.com/
User Flow Patterns http://userflowpatterns.com/
Pttrns http://pttrns.com/
UI Garage http://uigarage.net/

API

f:id:Kamekiti:20160118020510p:plain

ダミーデータを扱う

アプリはそれ単体で動作するものもありますが、たいがいAPIと連携して動作します。APIの開発待ちでアプリ開発が中断されたり、APIからのレスポンスに問題があり、アプリが正常に動作しなくなったりすることも。レスポンス形式はJSONが一般的になっていますので、下記のサービスを使うと少し開発の手助けになります。

サービス URL
Jsonstub http://jsonstub.com/
JSONLint http://jsonlint.com/
JSON GENERATOR http://www.json-generator.com/

Jsonstub」はリクエストに対してレスポンスを自分で指定することができるので、実際のネットワーク通信を行いつつ、期待するJSON形式のデータを受け取ることができます。APIの開発を待っている間の一時しのぎに使えますね。「JSONLint」はJSONのフォーマットが正しいかチェックし整形してくれるサービスです。APIのレスポンスが怪しいなと感じたら一度チェックしてみるとよいかと。改行や無駄なスペースが省かれてるレスポンスを見やすくしたいときにも活用できます。
そもそもJSONのデータを用意しないといけない場合、自分で考えて作るのが面倒だったりします。そんなときは「JSON GENERATOR」を使えば解決。

便利なChrome拡張機能

アプリ開発といってもAPIのレスポンスを確認する際など、なにかとブラウザを使う機会は多いです。Google Chromeで入れておくとアプリ開発に便利な拡張機能がありますのでぜひ使ってみてください。

拡張機能 URL
Easy URL Params https://chrome.google.com/webstore/detail/easy-url-params/jhhjlajfdkofbnhbcjcddngfehfihfln?hl=ja
The QR Code Extension https://chrome.google.com/webstore/detail/the-qr-code-extension/oijdcdmnjjgnnhgljmhkjlablaejfeeb?hl=ja
Proxy Switchy Sharp https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm?hl=ja

Easy URL Params」はAPIのパラメータを一覧で表示してくれます。&でつながれた横一列にならんだパラメータを確認するのは辛いですよね、そんな悩みを解消してくれます。「The QR Code Extension」はiPhone/iPadに今見ているWebページのURLをQRコードで読み取れる拡張機能です。入れておくとたまに役立ちます。「Proxy Switchy Sharp」はプロキシを管理できます。本番のAPIを確認したりステージングのAPIを確認したり、プロキシの切り替えを多用する方には重宝する拡張機能です。

ネットワークの制御

HTTP通信をキャッチしてその詳細をみたいとき、「Charles」を使うと便利。
実際にAPIのレスポンスを見たり、HTTPのステータスコードの確認にも利用できますよ。
Windowsをお使いの方は「Fiddler」がおすすめです。

ツール URL
Charles http://www.charlesproxy.com/
Fiddler http://www.telerik.com/fiddler

デバッグ

f:id:Kamekiti:20160118020521p:plain

iOSデバッグ設定

iOSの「設定」に「デバッグモード」があります。これを使うと、意図的に通信を遅くしたりパケットロスを発生させることができますよ。ネットワークが不安定な状態でのアプリ動作確認に使えます。あとはローディング中の動作をみたいときなど。

Viewのデバッグ

XcodeにもView Debuggingの機能はついていますが、おすすめは「Reveal」です。Viewの階層構造を3Dで分析することができるので、Viewを作っている際に重宝します。2Dでは発見しづらいバグや実装ミスに気づきやすいですよ。また、AutoLayoutにも対応されています。その場で値を変更することでViewの更新ができるのも便利。「FLEX」も同様にViewをデバッグできます。こちらはシミュレータ上で直接いじれますね。

ツール URL
Reveal http://revealapp.com/
FLEX https://github.com/Flipboard/FLEX

ライブラリ

f:id:Kamekiti:20160118020530p:plain
iOSアプリ関連のライブラリはCocoapodsやCarthageなどで管理されていることが多いですね。「Swift Toolbox」はSwift製のライブラリだけを探すことができるサービス。「Cocoa Controls」はUIまわりのライブラリに特化しているので、UIに悩んだときにどうぞ。「COCOAPODS SEARCH」はCocoapodsで管理されているライブラリを検索し人気順にソートすることが可能。人気のあるライブラリを探したいときにどうぞ。

サービス URL
Swift Toolbox http://www.swifttoolbox.io/
Cocoa Controls https://www.cocoacontrols.com/
COCOAPODS SEARCH http://cocoapods.wantedly.com/

Objective C → Swift

f:id:Kamekiti:20160118020548p:plain
Objective CのソースコードをSwiftに自動変換してくれるWebサービスがいくつか登場しています。機械的な作業になりがちなところもあるので、こういった変換サービスを使うのもありですね。一応Xcodeにも変換機能はついているのですが……。

サービス URL
Swiftify https://objectivec2swift.com/#/converter/code
objc2swift http://objc2swift.yahoo-labs.jp/

開発中に役立つ

f:id:Kamekiti:20160118020539p:plain

画像を一括生成

iOSアプリ内には3種類の画像サイズが含まれています。通常サイズ、Retinaディスプレイ用サイズ、Plus用サイズの3つ。いちいちそれぞれのファイルサイズを書き出すのは面倒ですよね。「Retinize It」を使えば3種類の画像をまとめて出力できます。既存の画像ファイルをまとめて縮小したいのなら、定番ですが「縮小専用AIR」もおすすめ。

ツール URL
Retinize It http://retinize.it/
縮小専用AIR http://labo.i-section.net/shukusen-air/

ディレクトリ構成を整理

synx」は、実際のディレクトリ構成をXcode上のディレクトリ構成に合わせてくれるコマンドラインツールです。差分があるとなんだか気になるんですよね……。そんなもやもやを解消してくれます。

ツール URL
synx https://github.com/venmo/synx

静的解析

テーラー・スウィフトさん。

ツール URL
Tailor https://tailor.sh/

ビルド

VWInstantRun」はコードの一部分だけをビルドしてくれるプラグインです。少し修正した部分だけをテストしたいときに使えますね。Objective CとSwiftどちらも対応。

ツール URL
VWInstantRun https://github.com/wangshengjia/VWInstantRun

ヘルプ

SwiftLint」はGitHub's Swift Style Guideに記載されているコーディング規約に則っているかどうかをチェックしてくれます。コードをきれいに保ちたい方は使ってみましょう。「Dash」はプログラミング言語のヘルプを高速で検索してくれるツールです。Objective CやSwift以外にもたくさん対応されているので既に入れている方は多いかもしれません。「XcodeSwiftSnippets」はSwiftのコード補完をしてくれるプラグインです。UITableViewDelegateなども一発で呼び出せるので超便利。

ツール URL
SwiftLint https://github.com/realm/SwiftLint
Dash https://itunes.apple.com/jp/app/dash-docs-snippets/id458034879
XcodeSwiftSnippets https://github.com/burczyk/XcodeSwiftSnippets

ドキュメント

各クラスがどのような振る舞いをして各メソッドの引数や返り値の説明などを一から作成するのは大変。下記のサービスを利用すると、コードから自動的にドキュメントを作成してくれますよ。もちろんコード上に各説明は記載しないといけませんが。ドキュメントの雛形をつくるのにも便利かと思います。

サービス URL
Headerdoc https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/HeaderDoc/intro/intro.html
dOxygen http://www.doxygen.jp/
jazzy https://github.com/Realm/jazzy

申請

f:id:Kamekiti:20160118020600p:plain

必要なアイコンを揃える

アプリ用のアイコンって意外とたくさん必要です。App StoreやSpotlight用などさまざま。そんなアイコン達をまとめて作成してくれる役立つサービスがあります。

サービス URL
Prepo 2 http://wearemothership.com/work/prepo/
MakeAppIcon https://makeappicon.com/
App icon generator http://appicon.build/

App Store用のスクリーンショット作成

App Storeに表示させるスクリーンショットも忘れずに用意しないといけません。シミュレータで各デバイスサイズごとに撮影してもよいのですが、そのあたりの手間暇を省きたいですよね。また、スクリーンショットだけではなく、iPhoneのフレームにはめこんだ画像がほしいときもあります。最近だとはめこんだ画像のほうが多くなってきているような気もしますね。文字で説明を入れたり。以下のサービスがおすすめです。

サービス URL
Screenshot Builder https://launchkit.io/screenshots/
App screenshot generator http://www.appscreenshot.me/
DaVinci Apps https://www.davinciapps.com/

App Store用の動画を撮影

最近App Storeのアプリ説明欄に動画が載せられるようになりました。実際にiPhoneでアプリを使用している場面を録画するならQuick Time Playerがおすすめです。Macに標準でついてますね。下記リンクの「ムービーを撮影する」でiPhoneを選択すればOK。
support.apple.com

Appleの審査がどれくらいで終わるか見積もる

App Storeにアプリを掲載するには、アプリがAppleの審査に通過する必要があります。しかし、その審査がどのくらいで終わるかは時期によりまちまちで、早ければ1週間以内に終わることもあれば、2週間以上かかることもあります。「Average App Store Review Times」では、今どれくらい審査にかかるかを実際の統計をとって平均を教えてくれます。審査時間が気になるときにどうぞ。

サービス URL
Average App Store Review Times http://appreviewtimes.com/

リリース後

f:id:Kamekiti:20160118020610p:plain

SlackでApp Storeのレビューを通知

リリース後はまわりの反応が気になるもの。App Storeにレビューが来たら自動的にSlackに通知してくれるBotがありますので、設定しておくと便利ですよ。

サービス URL
Review Monitor https://launchkit.io/reviews

おわりに

他にも便利なWebサービスやツールがあれば教えて下さい。