コードには、デバッグに使用するNSLogステートメントがたくさんあります。プロジェクトを実行するたびに、新しいコンソール画面から開始したいと思います。これを行うことができるコードに埋め込むことができるコマンドはありますか?
XCodeプリファレンスの「AutoClearDebugConsole」設定を使用できるかもしれません。これがあなたの質問に答えるかどうかわかりませんか?
コンソール(デバッグモード)の場合は、
Command + k
コンソールをクリアします。
私はあなたができる唯一のことは
for(int i= 0; i < 100; i++)
NSLog(@" ");
古き良きMS-DOSのように:)
Xcodeウィンドウでコンソールについて話している場合は、[実行]メニューに[コンソールのクリア]オプションがあります。また、[デバッグ]設定タブには[デバッグコンソールの自動クリア]チェックボックスがあります。 Xcode3.2.xを参照しています
デバッガーコンソール/実行ログは、基本的に、アプリからリダイレクトされた「これをコンソールに記録する」コマンドです。 「クリア」とは、メッセージが通常どこか(ファイルなど)でシャントされるだけなので、一般的な意味では何の意味もありません。アプリケーションは、デバッグ環境について知っている必要があり、ログに記録されているものをすべてクリアするようにその環境に指示できる必要があります。
要するに:私はそれが不可能ではないと思いますが、それは途方もなく不便です。
スタッカーが述べたように、XCodeプリファレンスの「AutoClearDebugConsole」設定がこれを行います。コードでそれを行うには:
bool ClearXCodeDebuggerConsole()
{
NSString *const scriptText = @"\
tell application \"System Events\"\n\
set currentapp to the name of the current application\n\
end tell\n\
tell application \"Xcode\" to activate\n\
tell application \"System Events\"\n\
keystroke \"r\" using {command down, control down, option down}\n\
end tell\n\
tell application currentapp to activate\n\
return true";
NSAppleScript *script = [[[NSAppleScript alloc] initWithSource:scriptText] autorelease];
[scriptText release];
NSDictionary *dictError = nil;
NSAppleEventDescriptor *result = [script executeAndReturnError:&dictError];
if (!result) return false;
if ([result booleanValue] != YES) return false;
return true;
}