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

时间:2015-04-09 11:13:16

标签: xcode macos desktop-application updates sparkle

我使用Sparkle框架为我的OS X桌面应用程序提供更新。为了能够将Sparkle指向不同的系统(登台/制作),我会覆盖Info.plist文件中的appcast URL条目,并在我想要更改URL时将更新的文件保存到光盘。这有一个缺点,它不会立即生效,但我必须重新启动应用程序,以便Sparkle使用plist文件中更新的条目。

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

1 个答案:

答案 0 :(得分:0)

真的很简单:

// 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];
}

只需将Feed的网址放入SUUpdater对象。