JSPatch应用的一些逻辑
2016-07-27 15:22
260 查看
首先毫无疑问在程序启动配置完运行参数的函数中执行和操作JSPatch的一些逻辑
- (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
具体步骤
第一步:首先检查App本地指定的Patch文件路径是否有Patch文件,如果没有直接进入第三步
第二步:如果发现有Patch文件,检查App版本号和Patch对应缓存的版本号是否一致,不一致则删除本地旧的Patch文件
第三步:GET请求访问Patch info接口,返回类似于如下的返回结果
{"log":"test","create":"146882832","file":"patch.apatch","enable":"true","err":"0”}
参数解释:log-Patch文件描述 create-Patch创建时间 file-Patch文件下载链接 enable-是否应用网络和本地的Patch文件 err-错误信息
如果在第二步删除了旧版本的Patch文件,此时应判断enable的bool值,如果为YES,直接下载。
如果第二步没有执行删除操作,此时应首先判断enable的bool值,如果为false,则删除本地的Patch文件并且不进行接下去的Patch文件下载和执行操作;如果enable的bool值为true,则检查本地的Patch文件的创建日期和网络的Patch文件的创建日期,如果网络Patch的创建时间信息比本地Patch的创建时间信息近,进行第四步Patch文件下载操作,否则直接执行第五步Patch执行操作。
第四步:拿到Patch文件的URL,直接进行Patch网络文件的下载操作,下载操作需要放在一条请求队列中,保证如果发生下载操作失败的情况下能重新进行下载操作,下载到指定的存放Patch文件的沙盒路径中,如果有老的Patch文件,则替换老的Patch文件(命名如果保持一致下载完成会自动替换),并且在下载成功的回调后缓存Patch的相关信息(log,create,当前版本号)
第五步:执行本地存在的Patch文件
- (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
具体步骤
第一步:首先检查App本地指定的Patch文件路径是否有Patch文件,如果没有直接进入第三步
第二步:如果发现有Patch文件,检查App版本号和Patch对应缓存的版本号是否一致,不一致则删除本地旧的Patch文件
第三步:GET请求访问Patch info接口,返回类似于如下的返回结果
{"log":"test","create":"146882832","file":"patch.apatch","enable":"true","err":"0”}
参数解释:log-Patch文件描述 create-Patch创建时间 file-Patch文件下载链接 enable-是否应用网络和本地的Patch文件 err-错误信息
如果在第二步删除了旧版本的Patch文件,此时应判断enable的bool值,如果为YES,直接下载。
如果第二步没有执行删除操作,此时应首先判断enable的bool值,如果为false,则删除本地的Patch文件并且不进行接下去的Patch文件下载和执行操作;如果enable的bool值为true,则检查本地的Patch文件的创建日期和网络的Patch文件的创建日期,如果网络Patch的创建时间信息比本地Patch的创建时间信息近,进行第四步Patch文件下载操作,否则直接执行第五步Patch执行操作。
第四步:拿到Patch文件的URL,直接进行Patch网络文件的下载操作,下载操作需要放在一条请求队列中,保证如果发生下载操作失败的情况下能重新进行下载操作,下载到指定的存放Patch文件的沙盒路径中,如果有老的Patch文件,则替换老的Patch文件(命名如果保持一致下载完成会自动替换),并且在下载成功的回调后缓存Patch的相关信息(log,create,当前版本号)
第五步:执行本地存在的Patch文件
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 探索PowerShell(九) 条件控制、逻辑
- 深入理解逻辑表达式的用法 与或非的用法
- js的逻辑运算符 ||
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题