在使用Sparkle进行更新后,应用程序不是活动的应用程序

时间:2014-01-31 14:10:03

标签: objective-c macos cocoa sparkle

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

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

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

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

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

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

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

是否有人观察过此类行为?即使是非更新配置? 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

我没有在我的应用上发现此行为。但是,应该可以通过在应用代理的[NSApp activateIgnoringOtherApps:YES];awakeFromNib方法中添加applicationDidFinishLaunching:来轻松修复此问题。

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