JSPatch - iOS 动态补丁】的更多相关文章

JSPatch库,支持在线更新iOS应用,目前BDN项目中有用到,主要用来修复线上Crash和Bug 相关博文推荐: JSPatch – 动态更新iOS APP(这是JSPatch作者的博文) JSPatch库, 一个Apple官方支持的实现在线更新iOS应用的库(这篇介绍不错)…
转载: iOS动态部署方案 前言 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的手段来达到动态部署方案的目的.这篇文章主要的目的就是给大家列举一下目前业界做动态部署的手段,以及其对应的优缺点.然后给出一套我比较倾向于使用的方案. 其实单纯就动态部署方案来讲,没什么太多花头可以说的,就是H5.Lua.JS.OC/Swift这几门基本技术的各种组合排列.写到后面觉得,动态部署方案其…
ios 由于苹果的审核政策,一旦上线后发现bug是件让人崩溃的事情 不过可以利用oc的runtime机制可以家用JSPatch动态的为工程打热补丁 下载地址:https://github.com/agelessman/JSPatch.git 如果不用cocoapods导入的话,不需要修改,如果拖到工程的,需要改头文件, 例如: #import “abc.h” 在appdelegate中添加类似下边的方法,写一个本地的属性记录补丁的版本号,如果文件存在,再调用 - (void)hotfix { /…
版权声明:本文由朱煌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/160 来源:腾云阁 https://www.qcloud.com/community TPatch是一套使用JavaScript给iOS打热补丁的系统,能非常有效的解决线上App的Crash和各种问题. 1.从何而来? 对于每一个开发,从写Hello World开始,到使用各种语言,可能都会遇到各种BUG.有的BUG能快速解决,比如Web侧的,发个JS…
概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你也可以选择其他的算法). iOS客户端中RSA加解密的例子不是很多,我在网络上寻找了一些开源代码,发现揭秘算法有误.我就在其基础上做了修改,修复了问题.并且我重新整理了一份,并且支持cocoapod接入,下面是github地址.以后我还会详细的说明RSA加密的原理,以及github上代码实现. ht…
[Objective-C Runtime动态加载]---动态创建类Class 动态创建类Class,动态添加Class成员变量与成员函数,动态变量赋值与取值,动态函数调用等方法 a.使用objc_allocateClassPair创建一个类Class     const char * className = "Calculator";     Class kclass = objc_getClass(className);     if (!kclass)      {       …
静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件.另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间. 上面提到库在使用的时候需要 Link,Link 的方式有两种,静态和动态,…
http://blog.csdn.net/shengyumojian/article/details/44919695 在ios运行过程中,有几种方式能够动态的添加属性. 1-通过runtime动态关联对象 主要用到了objc_setAssociatedObject,objc_getAssociatedObject以及objc_removeAssociatedObjects //在目标target上添加关联对象,属性名propertyname(也能用来添加block),值value + (voi…
关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. //  获取字符串的大小  ios6 - (CGSize)getStringRect_:(NSString*)aString { CGSize size; UIFont *nameFont=[UIFont fontWithName:@"Helvetica" size:13]; size=[aString sizeWithFont:nameFont constrainedToSize:CGSize…
过去的几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的.也就是说有很大一部分开发者都没有使用Objective-C太长时间.当你接触一门新语言时,更多地会关注基础知识,如语法和特性等.但通常有一些更高级的,更鲜为人知又有强大功能的特性等待你去开拓.   这篇文章主要是来领略下Objective-C的运行时(runtime),同时解释是什么让Obje…