昨天公布的Mac应用在几个微博大V的帮助下得到了不少人的关注,这是我意料之外的,非常感谢这些大V。很快我就收到了好几个用户反馈的bug, 这是一个值得高兴的事情,因为这说明很多用户是需要这些功能的,他们的反馈会让这款软件越来越好。
在修改完一个bug之后,我突然意识到一个问题。这个APP没能上架 APP Store, 那用户如何更新app呢?
答案当然很明显,我需要实现一个自动更新的功能。 但是失去了APP Store这条大腿,自己又没钱买服务器,如何才能实现自动更新呢? 思来想去,我发现还有另外一条大腿可以抱一抱,那就是所有程序员都知道的 github
。
接下来简单说下我实现自动更新的流程:
第一步 :上传最新包到
github
,记下包的地址。第二步: 配置一个版本信息的文件,里面要包含最新包的版本号,更新日志 及 包的地址(即第一步中获取到的地址)。 我是直接用了一个plist文件来存储。然后上传到
github
。
第三步: 在App启动时添加版本检查的代码。实际上就是读取第二步中的文件信息。如果你也用的plist文件,可以直接通过url读出Dictionary,然后对比App版本号,最新版本号如果比本app大则启动更新流程。
第四步: 下载最新包。通过版本信息文件中的url下载最新包到本地。
第五步: 下载完pkg之后,通过代码执行安装命令来 安装pkg。 整个更新流程到此结束。
下面是效果图
以前在一家公司开发的ios app是通过企业证书打包的,自动更新是通过公司自己的服务器实现。如果你所在的公司比较贫穷 或者 比较节省,也可以考虑用这样一种方式实现自动更新。