如果存在更新,App Store无法关闭我的应用程序(我发送到那里)。
App Store问我“我可以关闭此应用程序吗?”。我说是”。它挂了几秒钟然后再问我“我可以关闭这个应用程序吗?”
我看过OSX事件日志,但没有任何内容
Qt 5.4
OSX 10.10.2
答案 0 :(得分:1)
App Store可能会发送SIGTERM
信号通知您的进程关闭。因为你没有处理它,所以没有任何反应。您需要实现一个unix信号处理程序,如"Calling Qt Functions From Unix Signal Handlers" tutorial所示。
像这样的未经测试的混乱:
int setup_unix_signal_handlers()
{
struct sigaction term;
term.sa_handler = ::termSignalHandler;
sigemptyset(&term.sa_mask);
term.sa_flags |= SA_RESTART;
return sigaction(SIGTERM, &term, 0);
}
void termSignalHandler(int)
{
QCoreApplication::exit(0);
}
int main(int argc, char *argv[])
{
setup_unix_signal_handlers();
QCoreApplication a(argc, argv);
return a.exec();
}
信号处理的综合解释:Simple Linux Signal Handling