为 Mono Mac 应用程序禁用 App Nap

Disable App Nap for Mono Mac application

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

我找到了一些对此 this question 的引用,但是 NSProcessInfo.beginActivityWithOptions 似乎不存在于 MonoMac 类.

有什么办法可以实现吗?

您需要将从 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);