我使用Sparkle框架为我的OS X桌面应用程序提供更新。为了能够将Sparkle指向不同的系统(登台/制作),我会覆盖Info.plist文件中的appcast URL条目,并在我想要更改URL时将更新的文件保存到光盘。这有一个缺点,它不会立即生效,但我必须重新启动应用程序,以便Sparkle使用plist文件中更新的条目。
问题: 我没有找到任何关于是否可以在初始化时将appcast URL传递给Sparkle的资源,因此它之前不会查找从plist文件加载的URL。任何人都可以帮忙吗?
答案 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对象。