HOME » Natsu note » iOS » iOS 開発ツール FLEX by Flipboard を試す

iOS 開発ツール FLEX by Flipboard を試す 2014/08/20/|iOS,


お知らせ:開発ブログが新しくなりました。詳しくはこちらをご参照ください。

Flipboardが提供している機能満載な開発ツールFLEXを試してみました。

https://github.com/Flipboard/FLEX

何ができるの?

至れり尽くせり何から何までできます、というのが正しい表現でしょうか。かなり高度なツールです。GitHubのページに書かれている内容をそのまま訳すと以下のようになります。

  • ビュー(ビュー階層)の確認と修正
  • プロパティとインスタンス変数の参照
  • プロパティとインスタンス変数の動的変更
  • インスタンスメソッド、クラスメソッドの動的呼び出し
  • ライブオブジェクトへのアクセス(ヒープをスキャン)
  • サンドボックス内のファイルを参照
  • アプリ内の全クラスとフレームワークの閲覧
  • メインアプリケーションオブジェクト([UIApplication sharedApplication])、アプリケーションデリゲート、キーウィンドウ([UIApplication keyWindos])、メインスクリーン([UIScreen mainScreen])へのアクセス
  • NSUserDefaultsの値の参照と動的変更

FLEXが他の解析ツールと大きく異なることは、アプリに組み込んで使用するという点です。Mac上で動作するツールではないため、USBによる接続も不要です。ケーブルを繋いだ解析ではどうしても制限が生じますが、FLEXを用いることで実際の利用環境に最も近い状態でのデバッグ・解析が可能となります。

具体的な動作状態は、GitHubのページにアニメーション付きで説明されていますので、そちらを参照してください。


[https://github.com/Flipboard/FLEXより]

どんなときに使うと便利?

多くの場合において機能満載なツールほど使いこなすのは大変です。使用場面が想像できなければ、FLEXを使いこなすのも簡単ではないでしょう。ここでは、私が実際に使って便利だと思った場面をいくつか紹介します。

ビューの確認と微修正

FLEXを使うことで、画面上に配置されているビューのプロパティを動的に変更できます。ビューを任意の位置に移動させたりサイズを変更したり、また、色の変更やフォントの変更も意のままです。

画面デザイン・レイアウトの最終段階では微調整が必要になってくることが多いですし、動的に確認できるのはとてもありがたいことですね。

なお、ビューの移動に関しては、frameプロパティを修正するのではなくビューを直接ドラッグして移動できます。

サンドボックス内のファイルを参照

続いて、サンドボックス内のファイル閲覧です。デバッグ時にサンドボックス内にアクセスするためには、通常Xcodeのオーガナイザが必要になります。ほんのちょっと確認するには少々手間がかかります。正直言って面倒です。

しかし、FLEXを使えば確認作業のストレスは簡単に解消できます。NSDataにアーカイブされているものはその中身まで見ることはできませんが(ファイルサイズは確認できます)、例えば.plistや.jsonファイルは内容が表示されます。画像ファイルも確認可能です。そして、表示された内容はクリップボードにコピーできますので、すぐに他のアプリで解析を開始できます。

なお、FLEXで参照できるのはDocumentsフォルダに限りません。tmpフォルダやキャッシュ、さらにはアプリケーションバンドルそのものまですべて参照できます。

NSUserDefaultsの確認

サンドボックスと同じく確認が面倒なのがNSUserDefaultsです。設定周りのバグはなかなか解析しにくいところなので、NSUserDefaultsがどうなっているのかすぐに参照できるのはありがたいですね。

そしてさらに、NSUserDefaultsの値を動的に変更することもできます。設定のせいで動作がおかしいのか、それ以外に原因があるのかを突き止めるためにも役にたちます。

動的な値の参照や変更

テストも最終段階になるとできるだけ通常使用に近い使い方をするでしょう。電車の中で、カフェでコーヒーを飲みながら、もしくはベッドの中でさえ、リリース直前の自分のアプリを起動して動作を確認することはありませんか?

そんなときに限って予期せぬ動作をするものです。すると、モヤモヤを抱えたまま次のデバッグ時に再現を試みなくてはなりません。もしくは、クラッシュレポートを解析するなど、とにかく手間がかかります。

もし、FLEXが組み込まれていれば、あっと思ったときに内部状態が簡単に確認できます。これがアプリの品質向上に繋がることは言うまでもないでしょう。

どうやって使うの?

便利なことがよく分かったので、最後に使い方と注意点です。

Cocoa Podsの場合はPodfileに以下のように記述し、pod installを実行します。

pod 'FLEX'

Cocoa Podsを使っていない場合は、適宜プロジェクトにファイルを追加してください。

FLEXのメニューバーを表示するためには、FLEXManager.hをimportしてから以下のメソッドを呼び出します。

[[FLEXManager sharedManager] showExplorer];

表示、非表示を切り替えたい場合には、ジェスチャーやボタンなどからメニューバーを表示します(メニューバーを閉じるボタンはついています)。

また、App Store用のReleaseビルドにFLEXが組み込まれないようにするためには、User-Defined Settingを利用します。詳しくは、FLEXのページ(GitHub)に書いてありますのでそちらを参照してください。

これまで説明してきたように、FLEXを使うとNSUserDefaultsやインスタンス変数、プロパティの値などを動的に変更することができます。この動作は、通常使用には反していることを常に頭においておきましょう。一度FLEXを使用して変数などを修正したら、そのあとの動作は保証できません。そのことを忘れないようにしないと、FLEXによる思わぬ落とし穴にはまってしまうかもしれません。

Mac上で動作する解析ツールは他にも色々とあります。しかし、FLEXのようにアプリ内に組み込めてここまで強力なツールは初めてではないでしょうか。このFLEX、常に必要かと問われるとNOと答えるかもしれません(実際、メニューバーはときとして邪魔になります)。しかし、あると便利な場面がたくさんあります。開発効率とアプリ品質の向上にうまく活用していきたいものです。

FlipboardアプリはそのUIも動作もすばらしいですが、このようなツールを使ってこその姿なのだろうなと実感しました。

Flipboard Inc.
ジャンル:ニュース
リリース日:2010-07-21
無料
posted with iTunesLinker at 14.08.20