IOS免越狱开发-脱机版:热更新是如何实现的

好处

实现了热更新,可以在脚本内容有更新的时候,无需重新打包ipa,即可实现免安装后台自动更新程序。

原理

先来看本地程序中的update.json配置文件

{
  "update_url": "http://www.jidongyun.net/uploads/apply/updateConfig.json",
  "version": "1"
}

程序每次启动的时候,会自动请求update.json配置文件中update_url这个接口地址。
接口返回一段json配置,内容如下:

{
        "download_url": "http://www.jidongyun.net/uploads/apply/release.iec",
        "version": 2,
        "dialog": true,
        "msg": "优化部分问题",
        "force": false
    }

这段远程配置里,有一个关键的version,就是程序的版本号。
当远程版本号,大于本地update.json配置文件中的版本号时,程序就会弹出更新提示。
如果远程配置内容为空,或者本地版本号不大于远程版本号,则不提示更新。

实现

通常有两种方式来实现。
一种是阿里云/腾讯云OSS服务器,一种是云服务器。
建议使用OSS服务器,价格更低廉,性能更稳定。

这里演示使用腾讯云ECS云服务器来实现。
服务器已实现部署了宝塔和phalapi框架,并绑定了域名,指向public目录。

在phalapi的public目录下,创建一个uploads目录。
该目录用于上传各种用户文件。
在该目录下,创建一个apply目录。
该目录用于存储客户端程序。
将release.iec文件,和updateConfig.json文件,上传到apply目录。

file

本地update.json文件内容如上。
远程updateConfig.json文件内容如上。

打包测试

在IDEA中,打包程序

file

使用爱思助手的IPA工具进行签名
file

将签名好的ipa程序拖入到爱思的应用列表中,即可自动安装

file

程序安装好以后,在手机上打开程序。
由于本地配置中的version是1
远程配置中的version是2
所以程序会提示更新

file

避坑

温馨提示:此处内容需要后才能查看!

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » IOS免越狱开发-脱机版:热更新是如何实现的

企业级大数据智能营销管理系统

了解详情