2010年07月18日
SOS maxとiPhoneアプリ開発 @ iPod touch
iPhoneアプリ開発での、デバッグ用のログ出力の話しです。
以前Flashの開発用に少し試したSOS maxですが、Flash以外にも使えると知り、改めて調べてみると、iPhoneアプリの開発に便利なライブラリーも公開されてました。
単なるログ(Trace)出力だったら、NSLogで良いのですが、
soslog-objcを使うと、プリプロセッサーのマクロで出力のコントロールが出来るので、リリース版だと出力しない様にも出来ますし、さらに、コンポーネント毎にログ出力レベルの設定が出来ます。設定の種類が複数有るので、使い分かれば便利そうです。
更に、SOS max側もソケット接続した時、SOS maxが一番前に出るとか、ログのレベル毎に色分けされるとか、これも設定が出来て良いです。
最初、サンプルで公開されているデモファイルが妙なエラーが出て動かなかったし、プロジェクトを新規で作っても上手く行かず諦めようかと思ったのですが、プリプロセッサーのマクロを忘れていただけで、設定すれば無事に動きました。
使い方としては、soslog-objcのプロジェクトをダウンロードして、適当なところにおいて、そのプロジェクト自身を自分のプロジェクトに追加して、libSOSLogging.aをリンクする様にしておきます。さらに、ヘッダーをインポートします。
#import "SOSLog.h"
次に、AppDelegate.mの- (void)applicationDidFinishLaunching:(UIApplication *)applicationに初期化の設定を書きます。シミュレータで動かす場合は、127.0.0.1にIPアドレスを設定して、実機で動かす場合は、SOS maxを起動しているマシンのIPアドレスを入れます。その他も含めて、こんな感じです。
[SOSLog showLogLevel:YES andComponentName:YES andLineNumber:YES];
[SOSLog setGlobalLogLevel:sos_Trace];
[SOSLog setIP:@"127.0.0.1"];
次に、それぞれのファイル(コンポーネント)毎のログレベル設定。@__FILE__は記述を書いているファイル自身の名前が入ります。
[SOSLog setLogLevel:sos_Trace forComponent:@__FILE__];
[SOSLog setLogLevel:sos_Warn forComponent:@"SOSMaxViewController.m"];
後は、必要なところに、ログを書きます。
log(sos_Trace, @"トレースログです。");
こんな感じで日本語でも大丈夫そうです。
それから、忘れてはいけないのが、プリプロセッサーのマクロですね。
SOSLOGGING=1
ログを出力する場合は、1を指定して、出力しない場合は、0にします。デバッグとリリースで設定を変更しておけば良いですね。
Powerflasher Solutions - Home
>>関連リンク
soslog-objc - Project Hosting on Google Code
>>関連リンク
Description - soslog-objc - Project Hosting on Google Code
>>関連リンク
関連日記
- 2008年08月29日 POWERFLASHER SOS max (1823)@ Flash
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。