【技术实现步骤摘要】
-种基于Lua的iOS客户端功能动态更新的方法
本专利技术涉及i〇S客户端,尤其是。
技术介绍
对于一个已经上线苹果商店的App,当开发者需要对客户端进行更新时,最传统的 做法是将重新编译生成的完整的App提交到苹果商店,等待苹果商店的审核,当审核通过 后,用户可以重新下载安装App以达到更新的目的。 由于iOS平台限制了不允许以动态的方式加载由原生代码编译生成的可执行程 序,意味着开发者不可以以动态链接库的方式来组织App的软件架构,也就意味着不可以 通过单独更新动态链接库来完成对客户端App的更新。 如果采用传统的方式更新客户端,由于从提交给苹果商店审核到审核通过往往需 要耗费较长的等待时间,导致我们的更新版本不能迅速地传递到客户的移动设备上,用户 也需要重新下载安装整个客户端App。 -种与本专利技术相近的实现方案是基于Javascript脚本语言和内置于iOS的 WebKit框架的Web App,通过WebKit下载和解析执行Javascript脚本代码,同样可以达到 动态更新客户端功能的目的。 如果客户端是做成 ...
【技术保护点】
一种基于Lua的iOS客户端功能动态更新的方法,其特征在于包括以下步骤:A、将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配置相关客户端App代码模块的版本号;B、客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号下载需要更新的Lua脚本业务逻辑代码;C、当客户端执行到App代码模块时,通过Lua C API动态地加载已经下载好的Lua脚本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器来解析执行所述Lua脚本业务逻辑代码,以达到动态更新的目的。
【技术特征摘要】
1. 一种基于Lua的iOS客户端功能动态更新的方法,其特征在于包括以下步骤: A、 将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配 置相关客户端App代码模块的版本号; B、 客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号 下载需要更新的Lua脚本业务逻辑代码; C、 当客户端执行到App代码模块时,通过Lua C API动态地加载已经下载好的Lua脚 本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器来解析执行所述Lua脚本 业务逻辑代码,以达到动态更新的目的。2. 根据权利要求1所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在 于:其还包括一桥接器,该桥接器用于转换Lua解析器不能解析的代码。3. 根据权利要求2所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在 于:所述桥接器包括标识〇bject-C类对象和实例对象的userdata结构,该结构作为Lua 中的userdata数据类型存在,该结构中存放着指向Ob ject-C对象的指针和其他标识信息, 与对象相关的操作基本上在这个结构的基础上完成。4. 根据权利要求3所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在 于:所述桥接器将与〇b ject-C对象对应的userdata结构以key-value对的方式存放在两 个映射表中,其中key为userdata结构中的Ob ject-C对象的指针,value为userdata结 构。5. 根据权利要求4所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在 于:所述两个映射表中,其中一个表是弱表,存储了在Lua层面创建的Object-C对象的弱 引用;另一个表是用于保存在桥接器层面创建的〇b ject-C对象,是一个强...
【专利技术属性】
技术研发人员:余敬龙,
申请(专利权)人:广东能龙教育股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。