3

NSLogコード内のいずれかをエラーとして扱いたい。この行は、Xcodeのコンパイル時エラーである必要があります。releaseARC対応プロジェクトでの使用がエラーとして扱われるのと同じように。

4

3 に答える 3

3

これを試して、

#define NSLog_UNAVAILABLE __attribute__((unavailable("NSLog is treated as Error.")))
FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) NSLog_UNAVAILABLE;
于 2013-03-25T12:18:09.190 に答える
1

NSLogを使用してコード内ののプロトタイプを再宣言できる__deprecatedため、これを使用すると警告が表示されます。

FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) __deprecated;

次に、警告をエラーに変える方法があるかもしれません。

于 2013-03-25T11:55:29.140 に答える
0

コンパイラとしてClangを使用する場合は、これを使用できます(実際、GCCは_Static_assertバージョン4.6からC11もサポートしていることに気づきました)。

#define NSLog(...) _Static_assert(0, "Not allowed to use NSLog!")

失敗するとコンパイルは失敗し_Static_assertます。

于 2013-03-25T12:10:24.220 に答える