iOS アプリ作成時 はじめにやっておくことメモ

XCode で TODO を。。。

かんたんにできないみたい。

Xcode4のTODOタグを警告に出力する - 中継地点

Xcode3以前ではTODO等のタグコメントでファンクションメニューに表示されていましたが、Xcode4からメソッド内でのTODOタグが拾われなくなりました。

だそうで。

追加されたRun Scriptに下記のスクリプトを記述する

KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:"
find ${SRCROOT} \( -name "*.h" -or -name "*.m" \) -print0 | \
    xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
    perl -p -e "s/($KEYWORDS)/ warning: \$1/"

ってのができればいいんだが、XCode5 で設定項目を探せない。。。

How to Add a Run Script Build phase

プロジェクト設定を選択して

タブの BuildPhases

タブ内にある小さな + ボタンから New Run Script Phase

Run Script

Shell に /bin/sh

そのしたのテキストボックスにスクリプトをはりつける

あった。わかりにくいぜ・・・。


デバッグ用ログマクロ

iOS - NSLog デバッグ用の各種ログマクロまとめ - Qiita

xxx-Prefix.pch

#ifdef DEBUG
    #define LOG(...) NSLog(__VA_ARGS__)
    #define LOG_PRINTF(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
    #define LOG_METHOD NSLog(@"%s", __func__)
    #define LOG_METHOD_AND_ABORT LOG_METHOD; abort()
#else
    #define LOG(...)
    #define LOG_PRINTF(FORMAT, ...)
    #define LOG_METHOD
    #define LOG_METHOD_AND_ABORT
#endif

#ifdef DEBUG
    #define LOG_POINT(p) NSLog(@"%f, %f", p.x, p.y)
    #define LOG_SIZE(p) NSLog(@"%f, %f", p.width, p.height)
    #define LOG_RECT(p) NSLog(@"%f, %f - %f, %f", p.origin.x, p.origin.y, p.size.width, p.size.height)
#else
    #define LOG_POINT(p)
    #define LOG_SIZE(p)
    #define LOG_RECT(p)
#endif

#if DEBUG
@interface UIView (DebugPrivate)
- (NSString*)recursiveDescription;
@end
#endif