使用 appcast URL 初始化 Sparkle (OS X)

Initialise Sparkle (OS X) with appcast URL

我正在使用 Sparkle 框架为我的 OS X 桌面应用程序发布更新。为了能够将 Sparkle 指向不同的系统 (staging/production),我覆盖了 Info.plist 文件中的 appcast URL 条目,并在需要 URL 时将更新的文件保存到光盘] 改变。这有一个缺点,它不会立即生效,但我必须重新启动应用程序才能让 Sparkle 使用 plist 文件中更新的条目。

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

原来如此简单:

// 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 对象即可。