前言
macOS 开发中使用Sparkle进行自更新,目前百度搜索到的资料几乎都是老版本的,英文不太好,折腾了好久,在此记录下,写个教程方便后来人使用
环境
- mac os High
- Sierra(10.13.6)
Xcode Version 10.1 (10B61) - sparkle 1.12.3
新建MacApp
新建Mac os app
Sparkle集成
推荐使用cocopods
pod 'Sparkle'
#Using Sparkle (1.21.3)
具体流程
-
新增menuItem并连线
自动更新连线 -
打开pod文件夹如图位置
屏幕快照 2019-03-11 上午9.36.18.png - 生成key并填入程序info.plist【访问钥匙串需要同意权限】
##进入bin目录后
lm-majinlideMacBook-Air:bin zhoucan$ generate_keys
屏幕快照 2019-03-11 上午9.40.45.png
- 用python开启本地文件夹服务器
python -m http.server 或者
python -m SimpleHTTPServer
默认开启http://0.0.0.0:8000/
http://0.0.0.0:8000/已开启
4.1 提前设置【SUFeedURL http://0.0.0.0:8000/MacApp.xml】在info.plist添加更新网址,并打开ATS {本地是http,所以还是打开吧}
- 把Mac App修改verison和build 改到2.0版本并打包导出 MacApp.app
- 压缩MacApp.zip
-
签名并生成appcast.xml
签名生成xml
8.xml文件和zip移动至如图所示位置
本地文件夹服务器
以下是MacApp.xml的内容
<?xml version="1.0" standalone="yes"?><rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
<channel>
<title>MacApp</title>
<item>
<title>2.0</title>
<pubDate>周一, 11 3月 2019 09:44:51 +0800</pubDate>
<sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion>
<enclosure url="http://0.0.0.0:8000/MacApp.zip" sparkle:version="2.0" sparkle:shortVersionString="2.0" length="5056434" type="application/octet-stream" sparkle:edSignature="BT7y5cdBzgElBgkFrFQdBEjmT+fyaeWV0WTCILLcWCTLRzLwzZVONUA/uBKgsn/qKOtFCKaF9a7O7v9nBiJxDg=="/>
</item>
</channel></rss>
-
检查更新
手动更新 -
打开就检查有没有新版本
代码更新 -
基本成功
弹出更新
结束语
如果有什么问题,可以私信我交流。
当然你可以把更新链接和打包的zip文件放在github上,有自己服务器更好。
网友评论