【问题标题】:Application isn't the active one, after an update with Sparkle在使用 Sparkle 更新后,应用程序不是活动的
【发布时间】:2014-01-31 14:10:02
【问题描述】:

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

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

一切正常,Sparkle 宣传更新,一旦我点击安装它,下载、解压存档,并要求安装和重新启动。

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

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

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

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

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

【问题讨论】:

    标签: objective-c macos cocoa sparkle


    【解决方案1】:

    我没有在我的应用上观察到这种行为。但它应该很容易通过在您的应用代理的awakeFromNibapplicationDidFinishLaunching: 方法中添加[NSApp activateIgnoringOtherApps:YES]; 来解决。

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

    【讨论】:

    • 是的,我知道这样的解决方法,我希望并且仍然希望有人让我走上正确的轨道来发现问题。我认为窃取焦点将是我在这里的最后选择。
    猜你喜欢
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2021-01-23
    相关资源
    最近更新 更多