https://github.com/alex-spataru/QSimpleUpdater
QApplication app(argc, argv);
app.setApplicationVersion("1.0.0");
app.setApplicationName("Bob's Badass App");
QString url = "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/definitions/updates.json";
QSimpleUpdater::getInstance()->setModuleVersion(url, "1.0.0")
QSimpleUpdater::getInstance()->setNotifyOnFinish(url, true);
QSimpleUpdater::getInstance()->setNotifyOnUpdate(url, true);
QSimpleUpdater::getInstance()->setUseCustomAppcast(url, false);
QSimpleUpdater::getInstance()->setDownloaderEnabled(url, true);
QSimpleUpdater::getInstance()->setMandatoryUpdate(url, true); // 是否强制更新
QSimpleUpdater::getInstance()->checkForUpdates (url);
{
"updates": {
"windows": {
"open-url": "",
"latest-version": "1.0",
"download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg",
"changelog": "This is an example changelog for Windows. Go on...",
"mandatory": true
},
"osx": {
"open-url": "",
"latest-version": "1.0",
"download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg",
"changelog": "This is an example changelog for Mac OS X. Go on...",
"mandatory": true
},
"linux": {
"open-url": "",
"latest-version": "1.0",
"download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg",
"changelog": "This is an example changelog for Linux. Go on...",
"mandatory": true
},
"ios": {
"open-url": "",
"latest-version": "1.0",
"download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg",
"changelog": "This is an example changelog for iOS. Go on...",
"mandatory": true
},
"android": {
"open-url": "",
"latest-version": "1.0",
"download-url": "https://raw.githubusercontent.com/alex-spataru/QSimpleUpdater/master/tutorial/download/YesItWorks.jpg",
"changelog": "This is an example changelog for Android. Go on...",
"mandatory": true
}
}
}
同类型的还有 QtAutoUpdater 代码结构比较复杂,编译麻烦,使用起来比较难用.