iOS高级进阶
大飞哥666
这个作者很懒,什么都没留下…
展开
-
Mac上(iOS项目)用Jenkins做持续集成(CI)注意事项及总结
注意事项:1、安装Jenkins一定要从命令行安装(brew install jenkins),切记不要从Jenkins官网直接下载安装。因为后者会默认安装在Mac的Shared目录下,之后会遇到很多访问权限问题。2、Jenkins默认安装的那些插件其实可以直接跳过,之后自己把需要安装的插件自行安装即可。3、插件可以在插件管理里边直接一键安装,如果安装慢的话也可以自己去下载Jenkin...原创 2019-12-04 14:19:09 · 994 阅读 · 0 评论 -
iOS应用UI线程卡顿监控
地址:http://mrpeak.cn/blog/ui-detect/该文章只是提供一个检测主线程卡顿的一个思路,并不是很完善,项目中有需要的话,可以结合自己的需求进行二次开发。...原创 2019-06-12 11:59:47 · 463 阅读 · 0 评论 -
iOS组件化开发之——使用Cocoapods打私有的Pod库
随着项目和业务的发展,项目中会有很多基础功能模块和通用业务模块可以抽象成独立的组件,这样方便给各个业务线提供共用的基础组件,进行组件化编程,不需要重新造轮子,提高开发效率。因此我们就需要一个方案来合理的管理公共的组件。Spec Repo(配置仓库)的概念 CocoaPods对于一名iOS开发来说再熟悉不过了,它的工作原理就是在GitHub上面有个Spec Rep...原创 2019-07-24 10:46:09 · 1824 阅读 · 0 评论 -
Runloop和多线程总结
苹果用Runloop实现的功能(部分): 1、AutoreleasePool 2、监听和响应事件,如事件响应、手势识别、网络事件 3、UI更新 4、定时器 5、PerformSelecter方法 另外说一下主线程runloop的作用:1.保证程序不退出。2.监听事件(如触摸事件、时钟事件、网络事件)。 ru...原创 2018-06-10 19:53:34 · 2484 阅读 · 0 评论 -
iOS线上APP崩溃(Crash)分析
这两周一直在研究如何追踪线上的bug,如何快速分析出程序到底崩溃在什么地方,从底层了解Crash是如何产生的、如何传递的、以及是如何分析出来的。虽然项目组并没有对这些要求很严格,但是作为一个高级开发人员这些是我们必须要做的,要弄明白的。之前项目中用的是Bugly,其实接入Bugly之后,大部分问题不需要我们自己去研究了,对于追踪闪退等问题Bugly都帮我们做了。 1、iOS中Crash的产生...原创 2018-05-24 17:47:55 · 4905 阅读 · 0 评论 -
iOS中Mach异常和signal信号介绍,以及当APP崩溃时做线程保活弹出程序异常提示框
我们经常会遇到APP闪退和崩溃的问题,那么我们应该通过什么变量去监听APP的异常呢?如何在程序崩溃时,保证程序不闪退,并给用户弹出一个提示框呢? 这是本文将要讲述的内容。 先介绍2个概念,Mach异常和Signal信号,如果想要监听异常其实就是去监听Mach异常和Signal信号。其实系统已经给我们提供了一个方法去监听程序产生的异常,通过NSSetUncaughtExcept...原创 2018-05-28 18:41:57 · 5052 阅读 · 0 评论 -
iOS中响应式编程和MVVM架构模式总结
关于响应式编程和MVVM架构网上文章众多,层次不齐,为了节约大家的时间,我筛选了一些比较好的文章,供大家直接查看: 了解MVVM架构模式:MVVM With ReactiveCocoa 学习ReactiveCocoa:最快让你上手ReactiveCocoa之基础篇iOS ReactiveCocoa 最全常用API整理(可做为手册查询)RAC+MVVM在实际项目...原创 2018-04-12 17:25:32 · 603 阅读 · 0 评论 -
iOS多线程知识总结(队列概念/GCD/串行/并行/同步/异步)
先用比较通俗易懂的话解释一下同步、异步、串行、并行的概念:同步、异步:指的是能否开启新的线程。同步不能开启新的线程,异步可以(网上好多人这么总结,但是个人感觉是不准确的)。(更加准确的解释是,同步(sync)和 异步(async)的主要区别在于会不会阻塞当前线程(即执行的时候是否需要等待)。如果是 同步(sync)操作,它会阻塞当前线程并等待当前的任务执行完毕,然后当前线程才会继续往下运行。如果是...原创 2018-04-16 16:25:24 · 450 阅读 · 0 评论 -
iOS利用Shell脚本,一键打包发布到AppStore、蒲公英、Fir(附iOS持续集成总结)
之前研究过用Jenkins搭建自动化打包平台(在本人博客里),用来给测试人员打包或者上传AppStore,但是这个相对有点复杂,最近在研究使用脚本文件来实现iOS的打包发布,实现一键持续集成的工作。使用的时候,只需要在控制台执行一下脚本文件,就可以完成编译、打包、发布的所有流程。 这里有一篇总结的很不错的博客,大家可以参考,我就不再重复解释了,链接如下(里边有使用介绍和脚本文件下载地...原创 2018-04-02 16:12:36 · 6120 阅读 · 1 评论 -
AFNetworking源码学习
早在一年前,自己就研究过AFN的源码,但是,好多地方还没有完全理解。虽然最近一直在用Swift开发,但是这两天看到了人们争论关于AFN常驻线程的问题,所以又简单的过了一遍。在此,先向大家推荐一个关于AFN的博客,博主写了一系列关于AFN的源码解析和实现原理,因为AFN3.x和AFN2.x相比有较大的更新,文中也有相关的介绍。另外,我单独从中摘出了AFN中关于常驻线程这块的解释。大神博客地址:htt...原创 2018-03-21 11:31:11 · 702 阅读 · 0 评论 -
iOS App组件化开发实践
iOS App组件化开发实践前因其实我们这个7人iOS开发团队并不适合组件化开发。原因是因为性价比低,需要花很多时间和经历去做这件事,带来的收益并不能彻底改变什么。但是因为有2~3个星期的空档期,并不是很忙;另外是可以用在一个全新的App上。所以决定想尝试下组件化开发。所谓尝试也就是说:去尝试解决组件化开发当中的一些问题。如果能解决,并且有比较好的解决方案,那就继续下去,否则就放弃。背景脱离实际情...转载 2016-09-26 11:52:41 · 11117 阅读 · 4 评论 -
iOS实现热修复的几种方案
最近,在调研热修复技术,也称作热更新技术。由于苹果审核周期有时候比较长,这是公司无法忍受的,所以热修复技术应运而生。经过查阅多方面的资料,进行如下总结,希望对大家有所帮助。现在比较流行的热修复技术:一、使用JSPatch进行热修复。 JSPatch能做到通过JS调用和改写OC方法。最根本的原因是 Objective-C 是动态语言,OC上所有方法的调用/类的生成都通过 Objective...原创 2016-10-10 16:09:53 · 8898 阅读 · 4 评论 -
iOS中关于苹果审核IPv6的问题
在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务。2016年初开始所有提交到App Store的应用必须支持IPv6。有好多人都是因为IPv6的问题上架被拒了,让人心惊胆战。总的来说有三个方面需要进行检查和修改:1、项目里面涉及和网络有关的网络请求是否支持ipv6。(如AFNetworking,SDWebImage,这些三方最好更新到最新的)2、项目里面涉及和网络有关的sdk是否支持...原创 2016-12-07 14:33:59 · 8461 阅读 · 0 评论 -
搭建iOS自动化打包平台(利用Jenkins持续集成iOS项目)
最近处于项目测试阶段,频繁的打包耽误了团队很多时间,所以抽出时间来搭建自动化打包平台,实现对iOS和Android项目的打包。而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品、运营、测试等人员)通过手机扫描二维码后就能直接安装测试包。现在主要使用Jenkins工具进行平台的搭建,Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成...原创 2017-01-20 18:00:56 · 30686 阅读 · 8 评论 -
SDWebImage的缓存策略
SDWebImage 相信对大多数开发者来说,都是一个不陌生的名字。它除了帮助我们读取网络图片,还会处理这些图片的缓存。它的缓存机制到底是什么样的呢,让我给跟大家唠叨唠叨,希望你能有收获。基本结构闲言少叙,咱们这就开始。 首先咱们来看看 SDWebImage 的整体结构:有一个专门的 Cache 分类用来处理图片的缓存。 这里面也有两个类 SDImageCache 和 SDImageCacheCo...转载 2017-04-18 15:04:29 · 8517 阅读 · 0 评论 -
iOS Runtime总结
Runtime 是 iOS 编程中比较难的模块,想要深入学习 OC,那 runtime 是你必须要熟练掌握的东西,下面是我对 runtime 的整理,从零开始,由浅入深,并且带了几个 runtime 实际开发的应用场景。原文链接:http://www.jianshu.com/p/19f280afcb24下面这几篇博客写的不错,可以参考:Runtime开发实例汇总Runtime...原创 2017-05-05 17:16:18 · 451 阅读 · 0 评论 -
高质量 iOS 博客推荐(iOS界技术大牛)
推荐一些我个人认为非常经典,值得关注的博客:OneV's Den大家尊称为喵神 @onevcat 的博客。对 Swift 技术在国内的推广做了很大的贡献。Limboy’s HQ李忠关于 RAC 、组件化的文章流传很广。博客中对架构、编程的思考都很精髓。听说现在转管理后不太更新技术文了。Casa TaloyumCasa 对架构有很深的理解,《iOS 应用架构谈》系列文章影响深...原创 2018-03-13 10:48:56 · 14589 阅读 · 5 评论