All Projects → macmade → Githubupdates

macmade / Githubupdates

Licence: mit
Cocoa framework to install application updates from GitHub releases.

Projects that are alternatives of or similar to Githubupdates

Base
Base is the foundation for creating modular, unit testable and highly pluggable, server-side node.js applications.
Stars: ✭ 67 (-82.95%)
Mutual labels:  update, app
assetUpdater-core
AssetUpdater is a Unity plugin which helps developers build assetbundles and download it easily
Stars: ✭ 38 (-90.33%)
Mutual labels:  download, update
Checknewappversionavailable
It makes a request to Play Store to check if there is a new version of your published app
Stars: ✭ 69 (-82.44%)
Mutual labels:  update, app
Laravel Initializer
A convenient way to initialize your application
Stars: ✭ 597 (+51.91%)
Mutual labels:  update, install
iQuail
Easy to use cross-platform installer & updater for desktop applications
Stars: ✭ 20 (-94.91%)
Mutual labels:  install, update
Sparkle
A software update framework for macOS
Stars: ✭ 5,662 (+1340.71%)
Mutual labels:  update, framework
Checkversionlib
版本检测升级(更新)库。an auto check version library(app update) on Android
Stars: ✭ 2,546 (+547.84%)
Mutual labels:  update, app
Downloadinstaller
Android App应用内更新的下载,储存,安装 ,未知来源等问题处理
Stars: ✭ 182 (-53.69%)
Mutual labels:  install, download
Port-Able-Suite
🌐 Manager for portable applications
Stars: ✭ 35 (-91.09%)
Mutual labels:  download, update
ProgramUpdater
PUF - Program Updater Framework. A library to easier the task of program updating
Stars: ✭ 14 (-96.44%)
Mutual labels:  install, update
Update4j
Create your own auto-update framework
Stars: ✭ 497 (+26.46%)
Mutual labels:  update, download
Pyupdater
Pyinstaller auto-update library
Stars: ✭ 300 (-23.66%)
Mutual labels:  update, framework
Appupdater
🚀 AppUpdater一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。)
Stars: ✭ 406 (+3.31%)
Mutual labels:  update, download
Apps Version Update
高扩展性的多APP版本更新API接口与后台管理系统
Stars: ✭ 50 (-87.28%)
Mutual labels:  update, app
Nupdate
A comfortable update solution for .NET-applications.
Stars: ✭ 394 (+0.25%)
Mutual labels:  update, install
Bignews
Android增量更新框架差分包升级
Stars: ✭ 148 (-62.34%)
Mutual labels:  update, app
Criollo
A powerful Cocoa web framework and HTTP server for macOS, iOS and tvOS.
Stars: ✭ 229 (-41.73%)
Mutual labels:  framework, cocoa
Appplus
A open source android application, and used to manage app,export apk, watch recent processes.
Stars: ✭ 428 (+8.91%)
Mutual labels:  install, app
gitpack
Git-based package manager written in POSIX shell
Stars: ✭ 72 (-81.68%)
Mutual labels:  install, update
BM
The Utility to Install Songs, Install Mods, Install/Update BMBF, Install HitSounds, download automatically made Playlists, get better support, switch between the modded and unmodded Version of Beat Saber, do full Backups and way more
Stars: ✭ 33 (-91.6%)
Mutual labels:  install, update

GitHubUpdates

Build Status Coverage Status Issues Status License Contact
Donate-Patreon Donate-Gratipay Donate-Paypal

About

GitHubUpdates is Cocoa framework to install application updates from GitHub releases.
If you ever used Sparkle, this project provided the same kind of functionalities, but works with your GitHub releases and tags.

Update

Documentation

Documentation and API reference can be found at: http://doc.xs-labs.com/GitHubUpdates/

How to use

Application Setup

The project provides a Cocoa framework that you can embed into your own application.
A module is also defined, so you can either use:

@import GitHubUpdates;

or:

#import <GitHubUpdates/GitHubUpdates.h>

In order to check for updates, a GitHubUpdater object needs to be created:

self.updater            = [ GitHubUpdater new ];
self.updater.user       = @"MyGitHubUsername" 
self.updater.repository = @"MyGitHubRepository";

Note that you can also create the GitHubUpdater instance with InterfaceBuilder.
The user and repository properties are inspectable, so you can set them with the Interface Builder inspector palette.

IB

You can then check for updates using the IB action:

[ self.updater checkForUpdates: nil ];

This method will show a progress window, while checking for available updates.
You can also choose to check for updates in background:

[ self.updater checkForUpdatesInBackground ];

With this method, the update window will only be shown if an update is available.

You can also check for updates periodically, using a timer:

[ NSTimer scheduledTimerWithTimeInterval: 3600 target: self.updater selector: @selector( checkForUpdatesInBackground ) userInfo: nil repeats: YES ];

This will check for updates every hour.

Create a release on GitHub

GitHubUpdates will check your GitHub tags to see if an update is available.

Your tags should correspond to the application's version number, as in CFBundleShortVersionString.
There's no built-in support for CFBundleVersion, but that behaviour can be customized with GitHubUpdaterDelegate if needed.

Tags can be created on GitHub the following way:

git tag 0.1.2 -m "0.1.2"
git push origin --tags

Once you created a new tag, you'll need to upload a ZIP archive or a DMG file of your application to GitHub.
Also note that your application should be at the first level of the ZIP archive or the DMG file.

Note that the installer will check the value of CFBundleIdentifier, so they need to match.

Code-Signing

For obvious security reasons, the installer will also check code-signing properties.

While you can use GitHubUpdates without code-signing, the installer will refuse to install a non code-signed version, if the current version is code-signed. Code-signing identities are also checked, and the installer will refuse to install an update if there's a mismatch in the code-signing identities.

License

GitHubUpdates is released under the terms of the MIT license.

Repository Infos

Owner:          Jean-David Gadina - XS-Labs
Web:            www.xs-labs.com
Blog:           www.noxeos.com
Twitter:        @macmade
GitHub:         github.com/macmade
LinkedIn:       ch.linkedin.com/in/macmade/
StackOverflow:  stackoverflow.com/users/182676/macmade
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].