iOSアプリ開発に便利なツール
iOSアプリを開発する上で、生産性が上がるツールを紹介します。 Xcodeは常時使用するので除外してます。 それぞれのツールの導入方法や使い方は公式サイトを見れば大体分かると思うので、個人的に便利だと思ったところをピックアップして紹介します。
全て有料ですが、無料でお試し期間があるので興味があれば使ってみてください。
Reveal
Revealはビューのデバッガアプリです。ビューの階層を一覧で見れたり、各ビューのレイアウトの情報などを見れます。Xcode 8から入った新機能のビューデバッギングと似たような機能です。Xcodeの機能より動作が速く、機能が少し多いです。個人的に助かっているのは、AutoLayoutの制約を確認出来たり、制約が衝突している場合は警告を表示してくれるところです。 あとは、意図しない表示になっている時に設定したつもりだと思っている値を実際に確認するのも役立ちます。
シミュレーターだけでなく実機でアプリを起動している場合でも使用できます。
Advanced visualisations, comprehensive inspectors and the ability to modify applications on the fly. Debug layout…revealapp.com
AppCode
JetBrains製のAppCodeは痒いところに手が届くIDEなので、気持ちよくコードを書けるようになります。大きな目玉機能があるというよりは、地味に嬉しい機能が多くあり便利です。
ただし、Storyboard/Xibファイルの操作はXcodeが必須となるので、Xcodeと併用することになります。また、コンパイラに優しくないコードを書くと型を正しく認識してくれない時があります。その場合はXcodeだと認識することがあるので、適材適所でエディタを使い分けています。AppCodeもXcodeも型を認識してくれない時は気合で頑張りましょう。
それでは、個人的にお気に入りの機能を少しだけ紹介します。
デリゲートメソッドの実装
準拠しているプロトコルに対して実装が必須なデリゲートメソッドを一括で実装してくれます。また、オプショナルな実装についても、Camel Humpsで検索出来るので便利です。
リファクタリング
メソッド名の変更だけでなく、返り値の型や引数の変数名なども変更できます。ObjCを書く時に良く使いますが、Swiftでは使えなくなったような気がするので残念です…
Revealとの連携
Revealとシームレスに連携が取れるようになっています。デバッグ中にRevealボタンを押すとRevealアプリが立ち上がります。ぱっと確認したい時に手軽に起動できるのは便利です。
AppCode, smart IDE for iOS/macOS development that can refactor Swift, Objective-C and C++ codewww.jetbrains.com
Paw
PawはREST APIクライアントです。かなり多機能なのでまだ全てを使いこなせていませんが、認証情報の管理や、環境変数を持てることが便利です。
サービス立ち上げ時など、APIが同時並行で開発されている時に特に便利です。サーバ・クライアント間で通信が失敗する場合の問題の切り分けや、単純にAPIのレスポンスを確認したい時に、わざわざアプリを起動せずに確認できます。
個人的には、PawでAPIを色々試してみて、試したリクエストを使ってテストケースを書いて、その後にアプリ側で通信処理を実装するという流れが効率が良いと思っています。
Paw is a full-featured and beautifully designed Mac app that makes interaction with REST services delightful.Whether…paw.cloud
Charles
Charlesはプロキシツールで、こちらも通信処理のデバッグに活躍します。Charlesは実際のHTTPリクエスト・レスポンスの内容を覗けます。SSLプロキシの設定さえ行えば、シミュレーター・実機のどちらからでも利用可能です。 レスポンスの内容を改ざん出来るので、わざとエラーを発生させたりしてアプリから試すのが面倒な挙動を確認します。
Pawは各リクエストでどんな挙動になるか確認するのが用途ですが、Charlesは各レスポンスの挙動を確認するという用途で使い分けています。
Charles Web Debugging Proxy - Official Sitewww.charlesproxy.com
Dash
Dashはドキュメントビューアーです。iOSやSwiftのドキュメントはもちろんのこと、CocoaPods上で公開されている各ライブラリのドキュメントも見れます。ドキュメントをローカルにダウンロードして使うので、ネット上で検索するより高速に調べられます。Alfredと連携すればより手軽に利用できるので、調べたい情報をすぐ手に入れられるようになります。
Dash is an API Documentation Browser and Code Snippet Manager. Dash searches offline documentation of 150+ APIs and…kapeli.com
Alfred is a productivity application for Mac OS X, which boosts your efficiency with hotkeys, keywords and text…www.alfredapp.com
まとめ
今回紹介したツールは無くても何とかなりますが、あれば地味に嬉しいというツールだと思います。こういったツールを使えばデバッグの時間を節約できるので、その分をコーディングに注力できます。その結果として、アプリのクオリティを高められると良いですね。