长时间运行的轮询应用程序错误地标记为"无响应"在活动监视器中

时间:2014-07-05 15:43:33

标签: objective-c macos cocoa itunes

我有一个在后台运行的小型Objective-C应用程序,每隔2秒轮询一次当前曲目,将我的播放历史记录写入我主目录中的文件。 (不幸的是,如果您不是iTunes,轮询是收集iTunes历史记录的唯一方法。)

它作为一个登录项启动并且表现很好,即使我退出并重新启动iTunes,但它在Activity Monitor.app中始终显示为(Not Responding),突出显示为红色:

Activity Monitor screenshot

应用程序仍在运行,按预期记录到文件,没有问题,但我希望在Activity Monitor中正确报告。是否有一些神奇的Cocoa / Objective-C标志,我可以设置为通知OS X我的应用程序是通过[NSRunLoop mainRunLoop] +重复NSTimer运行而不是像OS X似乎期望的那样响应?

作为参考,相关应用程序位于GitHub上:chbrown/iTunesHistory

0 个答案:

没有答案