【问题标题】:Initialise Sparkle (OS X) with appcast URL使用 appcast URL 初始化 Sparkle (OS X)
【发布时间】:2015-04-09 11:13:15
【问题描述】:

我正在使用 Sparkle 框架为我的 OS X 桌面应用程序提供更新。为了能够将 Sparkle 指向不同的系统(暂存/生产),我会覆盖 Info.plist 文件中的 appcast URL 条目,并在我希望更改 URL 时将更新的文件保存到磁盘。这样做的缺点是它不会立即生效,但我必须重新启动应用程序才能让 Sparkle 使用 plist 文件中的更新条目。

问题: 我没有找到关于是否可以在初始化时将 appcast URL 传递给 Sparkle 的任何资源,因此它不会查找之前从 plist 文件加载的 URL。有人可以帮忙吗?

【问题讨论】:

    标签: xcode macos desktop-application updates sparkle


    【解决方案1】:

    真的就这么简单:

    // InitSparkle.mm
    
    #include "InitSparkle.h"
    
    #import <Cocoa/Cocoa.h>
    #import <AppKit/AppKit.h>
    #import <Sparkle/Sparkle.h>
    
    
    SUUpdater* suupdater = NULL;
    
    
    void initSparkle(const char* feedUrl)
    {
      suupdater = [[SUUpdater sharedUpdater] retain];
      [suupdater setAutomaticallyChecksForUpdates:YES];
      suupdater.feedURL = [NSURL URLWithString:[NSString stringWithUTF8String:feedUrl]];
      [suupdater checkForUpdates:NULL];
    }
    

    只需将提要的 URL 放入 SUUpdater 对象即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 2017-11-06
      • 1970-01-01
      相关资源
      最近更新 更多