禁用Ruby on Mavericks上的app nap

时间:2014-03-31 22:40:13

标签: ruby osx-mavericks

有没有办法在运行Ruby时全局禁用App Nap。我有一个通过RVM安装的自定义版本,我可以在Finder中获取信息,但是"禁用App Nap"选项不存在。我不知道Ruby的域名来尝试命令行选项:"默认写ruby NSAppSleepDisabled -bool YES"。我放弃了ruby,org.ruby,org.ruby.ruby和org.ruby-lang.ruby。

2 个答案:

答案 0 :(得分:3)

没有什么可以禁用的; Ruby解释器(在大多数其他命令行应用程序中)不受App Nap的约束。

您可以通过" Energy"来验证这一点。活动监视器的选项卡。您可能需要制作" App Nap"列可见,如果它已经不存在。

答案 1 :(得分:2)

App Nap是基于应用程序的。你不想为任何使用Ruby的东西禁用它。

应用程序应该告诉系统应用程序何时不允许小睡(例如,当您启动任务时),以及何时允许小睡(例如,当任务结束时)。这将使用Obj-C中的NSProcessInfo类来完成。不幸的是,这可能意味着找到一种通过诸如Ruby之类的路线与Obj-C交谈的方法 - > C / C ++ - > Obj-C,但这是偏离本地图书馆的结果。

通过将布尔用户默认密钥NSAppSleepDisabled设置为YES,您可以完全禁用App Nap。通过终端,可以这样做:

defaults write appbundleidentifier NSAppSleepDisabled -bool YES

这需要在您的应用中使用您自己的捆绑包标识符设置Info.plist。

此外,我相信如果您使用10.8 SDK而不是10.9 SDK进行链接,则在获取应用程序信息时可能会出现“阻止应用程序暂停”复选框。这背后的原因是,如果你链接到10.9 SDK,你应该实现10.9的App Nap。