USBで繋いでないときもNSLogの内容がみたい時ってありますよね?
特に位置情報系を使ったりするアプリなんかでは、今Regionに入った?出た?近づいている?って情報がとても気になります。
まあLocalNotificationでもいい場合も多いのですが、うざいし、iOS8以下だと過去分も見返せないなんてこともあると思います。
そんなときは、ここで紹介するAntennaという世界的に超有名なiOSエンジニアであるmatttさん作のライブラリを使って見ましょう!
自分が立てたサーバーに簡単にログ情報を送ってくれますよ!
アプリ側の準備
Antennaを導入します。
pod 'Antenna'
と書いて、
$ pod install
あとは使用する前にかならず
[[Antenna sharedLogger] addChannelWithURL:[NSURL URLWithString:@"http://<YOUR_IP_OR_DOMAIN>:5000"] method:@"LOG"];
を実行しておきます。
あとはログがほしい場所で、
[[Antenna sharedLogger] log:@"Logging!!"];
or
[[Antenna sharedLogger] log:[NSString stringWithFormat:@"%@", @"hoge"]];
と書くだけです。NSLogの代わりに使って見ましょう。
サーバー側の準備
Antennaと対になるWebアプリケーションが用意されてます。
Ruby製なのですが、これを書いたのもmatttさんってのがすごいですね(^q^)
こちらの構築も簡単です(Ruby自体の導入は省きます)。
git clone git@github.com:mattt/rack-http-logger.git
cd rack-http-logger/example
gem install foreman
bundle install
foreman start
これだけです!localhost:5000で立ち上がっているはずです。
あとはローカルネットワーク内であれば、ifconfigなど叩いてIPを取得して
Antennaの方の設定でhttp://<確認したIP>:5000
などとして、自分のiPhoneの実機を同じWi-Fiにつなぐだけです。
これだけで、順次Logが呼ばれるたびに、出力が更新されていきます。
簡単便利!