0

我使用 Sparkle 为我的应用程序提供更新。

这个过程是一个非常简单和基本的过程:应用程序的更新被压缩,一个 XML appcast 为 Sparkle 提供了 zip 的 URL。

所有工作都按预期工作,Sparkle 发布更新广告,一旦我点击安装它,下载、解压缩存档,并要求安装和重新启动。

有一个问题:重新启动后应用程序不是活动的(最重要的?)之一,即:应用程序由“finish_installation”工具(重新)启动,但停留在应用程序堆栈的底部。

从 Sparkle 更新的其他应用程序的行为来看,这不是正常行为,系统正确地将应用程序的焦点放在正常的经典启动上。

如果重要的话,我会运行 Mac OS X 10.9.1 和 Xcode 5.0.2,并且该应用程序是基于文档的。

我确实注意到系统日志中有一条消息,说 zip 导入器在解析用于更新的存档时遇到错误 (2),但我怀疑这可能是问题的根源。

有人已经观察到这种行为了吗?即使在非更新配置上?任何帮助表示赞赏。

4

1 回答 1

2

我没有在我的应用程序上观察到这种行为。但它应该很容易通过添加[NSApp activateIgnoringOtherApps:YES];您的应用程序委托awakeFromNibapplicationDidFinishLaunching:方法来修复。

如果您只希望应用程序在“finish_installation”启动时激活,也许您可​​以检查应用程序的父进程的名称?

于 2014-01-31T16:03:40.437 回答