我在一个我知道被调用的方法中有一个NSLog调用(我设置了一个断点)。但是在那种方法中没有输出,或者在该方法之后根本没有输出。当应用程序启动时,我的NSLog语句工作正常。我想知道这是否是某种线程问题。
NSLog在taskDidTerminate方法中停止,该方法是来自NSTask的回调:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(taskDidTerminate:)
name:NSTaskDidTerminateNotification
object:localTask];
有什么想法吗?
编辑:taskDidTerminate
- (void) taskDidTerminate: (NSNotification *) notification
{
NSLog(@"TaskDid Terminate");
[task.delegate taskCompleted:task];
}
答案 0 :(得分:2)
事实证明,当你使用/ bin / bash -c(task)(命令)执行任务时,它看起来并不像XCode。我现在已将其更改为直接执行任务,现在我的NSLog()语句正在运行。
请参阅here以获取参考。
答案 1 :(得分:2)
添加[task setStandardInput:[NSPipe pipe]];
可能会按照CocoaDev: NSTask上的说明恢复您的日志。