GitHubUpdates
关于
GitHubUpdates 是一个用于从 GitHub 发布版本安装应用程序更新的 Cocoa 框架。
如果你曾经使用过 Sparkle,这个项目提供了类似的功能,但适用于你的 GitHub 发布版本和标签。
文档
文档和 API 参考可以在以下网址找到:http://doc.xs-labs.com/GitHubUpdates/
如何使用
应用程序设置
该项目提供了一个Cocoa 框架,你可以将其嵌入到你自己的应用程序中。
还定义了一个模块,所以你可以使用以下任一方式:
@import GitHubUpdates;
或:
#import <GitHubUpdates/GitHubUpdates.h>
为了检查更新,需要创建一个 GitHubUpdater
对象:
self.updater = [ GitHubUpdater new ];
self.updater.user = @"MyGitHubUsername"
self.updater.repository = @"MyGitHubRepository";
注意,你也可以使用 InterfaceBuilder 创建 GitHubUpdater
实例。
user
和 repository
属性是可检查的,因此你可以在 Interface Builder 检查器面板中设置它们。
然后你可以使用 IB 操作来检查更新:
[ self.updater checkForUpdates: nil ];
这个方法会在检查可用更新时显示一个进度窗口。
你也可以选择在后台检查更新:
[ self.updater checkForUpdatesInBackground ];
使用这个方法,只有在有可用更新时才会显示更新窗口。
你还可以使用定时器定期检查更新:
[ NSTimer scheduledTimerWithTimeInterval: 3600 target: self.updater selector: @selector( checkForUpdatesInBackground ) userInfo: nil repeats: YES ];
这将每小时检查一次更新。
在 GitHub 上创建发布版本
GitHubUpdates 将检查你的 GitHub 标签以查看是否有可用更新。
你的标签应该对应于应用程序的版本号,如 CFBundleShortVersionString
。
没有内置对 CFBundleVersion
的支持,但如果需要,可以使用 GitHubUpdaterDelegate
自定义该行为。
可以通过以下方式在 GitHub 上创建标签:
git tag 0.1.2 -m "0.1.2"
git push origin --tags
创建新标签后,你需要将应用程序的 ZIP 压缩包或 DMG 文件上传到 GitHub。
还要注意,你的应用程序应该位于 ZIP 压缩包或 DMG 文件的第一级目录。
请注意,安装程序将检查 CFBundleIdentifier
的值,所以它们需要匹配。
代码签名
出于明显的安全原因,安装程序还将检查代码签名属性。
虽然你可以在不进行代码签名的情况下使用 GitHubUpdates,但如果当前版本已经签名,安装程序将拒绝安装未签名的版本。 代码签名身份也会被检查,如果代码签名身份不匹配,安装程序将拒绝安装更新。
许可证
GitHubUpdates 根据 MIT 许可证的条款发布。
仓库信息
所有者: Jean-David Gadina - XS-Labs
网站: www.xs-labs.com
博客: www.noxeos.com
Twitter: @macmade
GitHub: github.com/macmade
LinkedIn: ch.linkedin.com/in/macmade/
StackOverflow: stackoverflow.com/users/182676/macmade