iOS iOS6 iOS7 iPadアプリ iPhoneアプリ Xcode アプリ開発

XcodeでのNSLog出力はマクロを使おう。

[ProjectName]-prefix.pchに以下をコピペすることで、デバッグ時にだけログを出力することができるようになります。(リリース時にはログは出力されません)

使い方は簡単で、これをコピペしておいて、編集先で

LOG(@"%@",hoge)

みたいな使い方をします。新たにプロジェクトを作成する際にこれを忘れず設定しておくと、以降の作業が円滑に進むことでしょう。

#ifdef DEBUG
#define LOG(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
#define DLog(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
#define ALog(...) [[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__]
#define LOG_CURRENT_METHOD NSLog(@"[line:%d] %@/%@",__LINE__, NSStringFromClass([self class]), NSStringFromSelector(_cmd))
#else
#define DLog(...) do { } while (0)
#ifndef NS_BLOCK_ASSERTIONS
#define NS_BLOCK_ASSERTIONS
#endif
#define ALog(...) NSLog(@"[line:%d] %s %@",__LINE__, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
#define LOG(...)
#define LOG_CURRENT_METHOD
#endif

余談ですが、同時に以下のようなコードを書いておくと、ちょっとハッピーになるかもしれません。

#define WIDTH  self.view.frame.size.width
#define HEIGHT self.view.frame.size.height

-iOS, iOS6, iOS7, iPadアプリ, iPhoneアプリ, Xcode, アプリ開発
-, , , , , , , , , , , ,

Copyright© LAPTURE , 2020 All Rights Reserved.