macOS 开发 - 使用 最新版本Sparkle 进行自更新

前言

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)

具体流程

  1. 新增menuItem并连线


    自动更新连线
  2. 打开pod文件夹如图位置


    屏幕快照 2019-03-11 上午9.36.18.png
  3. 生成key并填入程序info.plist【访问钥匙串需要同意权限】
##进入bin目录后
lm-majinlideMacBook-Air:bin zhoucan$ generate_keys 
屏幕快照 2019-03-11 上午9.40.45.png
  1. 用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,所以还是打开吧}

  1. 把Mac App修改verison和build 改到2.0版本并打包导出 MacApp.app
  2. 压缩MacApp.zip
  3. 签名并生成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>

  1. 检查更新


    手动更新
  2. 打开就检查有没有新版本


    代码更新
  3. 基本成功


    弹出更新

结束语

如果有什么问题,可以私信我交流。
当然你可以把更新链接和打包的zip文件放在github上,有自己服务器更好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容