您的位置:首页 > 其它

更新 FrameWork

2016-04-15 19:33 225 查看

 这里把想要改变的东西封装到FrameWork以便实现热更新,提一下关于BundiD 一定要一致,在打包的时候一定在Edit
scheme —— >Run 选择Release如图: 

 因为你要跑在真机上,所以这个要选择Release
另外将包含你想要放出的方法类添加的Head中 

 OK 点击Run的到动态库然后 showinFinder
![ 

 这就得到动态库了,然后 我们开始主程序! 主程序这里没什么好说的 主要是讲frameWok倒入就行另外在加载资源的时候要用绝对路径,因为所有的东西在Document
主程序要实现 

 作为主程序和Frmework的桥接

这里需要提醒大家的ATS配置以及证书BundiD的一致,另外这个只向下兼容支持到8.0! 这里我用了两种方法一是部署在自己公司的服务器一种是利用iTunes 做了简单的测试,iTunes 测试一顶要在plist文件中添加Application supports iTunes file sharing 并设置为Yes 这样你才能通过iTunes 共享! 

 运行一下
主程序跑到真机上!

连接手机通过iTunes 将Framework 放入Document 下 


这里 你就 可以根据iTunes 实时共享 ! 做到改变Framework间接改变手机App的Framework 做到热更新的目的

这里在提下 我放倒服务器上通过请求如何做的! 首先 我获取权限使得后台同意让我放在自己公司上的服务器下,这里如何放置就不说了很简单,又不是自己搭服务器!想自己搭服务器的可以
4000
自己百度!

给大家看下我Demo 的截图 

 第一个按钮其实是从服务器上请求的,如果有小伙伴想了解,但是没有部署的自己服务器上的话,直接用iTunes
用第二个按钮就行了!

这里值得一提的是 由于公诉网慢,我发邮件打了个zip包,本想是解压后再放上去,结果搞错了放了个zip 上去,于是请求回来的是一个zip包,于是我觉得这样很好我又做了一次解压操作,这样使得下载的资源会有所减小!

用到了一个别人写的三方解压GSPZipArchive! 这里主要是底层封装的C语言程序 据网上有人反映 已经在mac和windows两端测试通过,都可以正常压缩带有中文的文件,并能正常解压。 只不过 在mac 默认是UTF- 8 在window 上变成了GBK

解决办法打开源码 直接改为 UTF-8

如 :zipOpenNewFileInZip ( _zipFile ,( const char *) [newname UTF8String ],// UTF-8方式编码 这样就可以了! 另外再 说下 AFN3.0 以及2.0 网上已经有很多资料了 这里我想说的是请求头以及请求体!

请求头的设置: NSString* sessionid = [[NSUserDefaults standardUserDefaults] objectForKey:kSessionID]; if (sessionid && [sessionid length]) return @{ @"COOKIE": [NSString stringWithFormat:@"sessionid=%@", sessionid]}; 获取到到一个字典key是COOKIE value是sessionid=%@ [sessionManager.requestSerializer
setValue:obj forHTTPHeaderField:key]; 请求体设置:AFN 中的constructingBodyWithBlock:formData 后拼接你的参数 打击运行下看看效果吧!被拒应该是肯定的但是这种方法确实是可以做到绕过AppStore!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: