禁用Mono Mac应用程序的App Nap

时间:2015-11-06 01:56:05

标签: macos mono

我希望我的Mono Mac应用程序默认禁用App Nap。

我发现了一些对此this question的引用,但NSProcessInfo.beginActivityWithOptions似乎并不存在于MonoMac类中。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

您需要存储从BeginActivity某处返回的Activity对象:

NSObject myActivity;
const string myReason = "Hacking the planet";

然后当你想要防止小睡发生时:

// Prevent auto-sleeping
myActivity = new NSProcessInfo().BeginActivity(NSActivityOptions.IdleSystemSleepDisabled|NSActivityOptions.SuddenTerminationDisabled, myReason);

根据您的应用要求,您可以使用许多NSActivityOptions的组合。

当你完成处理时:

// End the battery draining activty
new NSProcessInfo().EndActivity(myActivity);