Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Electron应用程序被OSX限制_Macos_Electron - Fatal编程技术网

Macos Electron应用程序被OSX限制

Macos Electron应用程序被OSX限制,macos,electron,Macos,Electron,运行electron 1.4.3时,我遇到了一个奇怪的问题,看起来事件循环不知何故被卡住了。我已经设置了一个间隔,每80毫秒更新一次,但是在大约30秒之后,它突然每10秒更新一次。下面是我以每秒一次的间隔测试它时的一些日志记录: 2016-10-26T21:30:38.017Z [INFO ]-(CommandUtils ) Polling 2016-10-26T21:30:39.086Z [INFO ]-(CommandUtils ) P

运行electron 1.4.3时,我遇到了一个奇怪的问题,看起来事件循环不知何故被卡住了。我已经设置了一个间隔,每80毫秒更新一次,但是在大约30秒之后,它突然每10秒更新一次。下面是我以每秒一次的间隔测试它时的一些日志记录:

2016-10-26T21:30:38.017Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:39.086Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:40.316Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:41.485Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:42.750Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:43.845Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:45.053Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:46.186Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:47.257Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:48.332Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:49.452Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:50.798Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:51.951Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:53.094Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:54.206Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:55.275Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:56.343Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:57.416Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:58.583Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:30:59.704Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:00.772Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:01.841Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:02.977Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:04.048Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:05.118Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:06.289Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:07.381Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:08.506Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:09.583Z [INFO   ]-(CommandUtils             ) Polling
2016-10-26T21:31:19.964Z [INFO   ]-(CommandUtils             ) Polling
从最后几行中可以看出,时间间隔突然从每秒变为每十秒一次。在我的测试中,我发现在大约30秒后,它每10秒更新一次,这是非常一致的

然而,这个问题似乎取决于系统。我们已经在Linux机器上测试了这个问题,无法重现这个问题。我们在另外几台苹果笔记本电脑上进行了测试,它们和我的苹果笔记本电脑一样,表现出这种奇怪的行为。此外,问题似乎取决于它运行的位置,而不是它的内置位置-在OSX for Linux中构建然后在Linux中运行没有任何问题,但是在Linux for OSX中构建然后在OSX中运行确实有问题

我也试着把electron降到1.3.3,但也没能解决这个问题

更新:

我肯定怀疑一些OSX的恶作剧。我以前没有使用浏览器窗口,但在尝试附加调试器时,我打开了附加到应用程序的浏览器窗口。我一这么做,节流就没有发生。但是,如果我将该浏览器窗口放在其他窗口后面(这样它就不会被渲染),节流将在大约30秒后发生

那么,如何防止OSX限制我的(目前没有UI)electron应用程序呢?

如中所述,解决方案很简单。我只需要补充一下

electron.powerSaveBlocker.start('prevent-app-suspension');
而且OSX不会在30秒后限制我的应用程序