Project Icon

GitHubUpdates

GitHub应用程序更新框架 简化发布版本管理

GitHubUpdates是一款基于Cocoa的开源框架,旨在简化从GitHub发布版本安装应用程序更新的过程。该框架提供了类似Sparkle的功能,但专门针对GitHub的发布和标签系统进行了优化。它支持后台更新检查、定期检查以及通过Interface Builder的便捷集成。框架内置了代码签名验证机制,有效保障了更新过程的安全性。开发者只需在GitHub上创建标签并上传应用程序归档文件,即可实现自动更新功能,大大简化了应用程序的版本管理和更新流程。

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 实例。
userrepository 属性是可检查的,因此你可以在 Interface Builder 检查器面板中设置它们。

IB

然后你可以使用 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
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号