自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Web Service如何实现跨平台网络通讯?

Web Service如何实现跨平台网络通讯?一、目录Web Service的介绍SOAP协议WSDL介绍Web Service的iOS实战二、Web Service的介绍WebService是一种跨编程语言和跨操作系统平台的远程调用技术。WebService其实就是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何在Web上实现互操作性,你可...

2019-09-26 11:42:04 840

原创 GitHub使用报错汇总

Git使用总结:1、git push Username for ‘https://github.com’:为什么Git总是要求我的密码?如果Git每次尝试与GitHub交互时都会提示您输入用户名和密码,那么您可能正在使用存储库的HTTPS克隆URL。使用HTTPS远程URL有一些优点:它比SSH更容易设置,并且通常通过严格的防火墙和代理工作。但是,每次拉动或推送存储库时,它还会提示您输入...

2018-11-26 19:32:34 432

原创 iOS线程安全的全面剖析

提个问题:如果某个ViewController里运行了一个Thread,Thread还没结束的时候,这个ViewController被Release了,结果会如何? 经过的的测试,Thread不结束,ViewController一直保留,不会执行dealloc方法。我的线程安全解决方案 :在NSOperation.m中的main函数中 执行回调函数之前会询问 [self isCancl

2018-11-05 20:03:41 190

原创 iOS奔溃分析技巧-crash日志符号化

前言iOS开发需要不停发版本,开发者要面临线上各种版本的奔溃日志(crash log),解决奔溃问题是移动开发者最日常的工作之一.在实际的项目开发中,崩溃问题,依赖xcode,依赖于系统记录的崩溃日志或错误堆栈,在本地开发调试阶段,是没有问题的。 如果在发布的线上版本出现崩溃问题,开发者是无法即时准确的取得错误堆栈的,需要获取到crash日志,进行相应处理。简单的崩溃还好说,复杂的崩...

2018-04-11 21:32:35 2019

原创 P3/bit16资源文件导致iOS9.2以下AppStore线上应用奔溃

前言公司项目集成了bugly奔溃收集系统,发现线上crash率在某一个版本特别高。 但是在奔溃堆栈中查不到有用的信息,通过上传符号表DSYM也没法准确定位到具体的代码函数。 接着根据统计数据分析出,问题出现在iOS9.0~iOS9.2之间。 然后从同事那里借了一部iOS9.2的机子,先从AppStore下载线上版本,一启动,果然必奔溃。然后通过Xcode安装下来的,却不会出现奔溃...

2018-04-10 16:20:27 536

原创 NSRunLoop-使用场景分析

前言NSRunLoop是一个比较深奥难懂的iOS知识,我觉得很有必要花上一段时间对它进行深入的理解学习,之前针对NSRunLoop进行了一篇总结,可以参考。 NSRunLoop-深入剖析 如果从这些文字理论上去理解NSRunLoop,是很深奥难懂的,所以,我这里专门总结了一些跟NSRunLoop有关的使用场景,方便加深理解。 先看下苹果系统是怎么使用runloop的,后面再看看我们...

2018-04-04 19:52:24 743

原创 iOS性能优化-UI卡顿检测

前言在实现需求的同时,能写出既优雅性能又高效的代码是每个开发者都在追求的目标,但是在实际开发中,随着每个版本需求的迭代,功能变得越来越复杂,加上开发者的意识不够或者一时疏忽,日渐复杂的工程很容易产生或多或少的问题。 比如,app随机丢失动画、用户反馈app卡死等等的问题,这些问题都严重影响使用,也会降低产品口碑,我们除了在开发过程中,通过instrument来检测这些问题,还可以借助一些第三...

2018-03-19 21:02:50 8449

原创 iOS性能优化-离屏渲染

前言在使用UIKit的过程中,性能优化是永恒的话题。很多分析优化滑动性能的文章,只介绍了优化方法,却对背后的原理避而不谈,本文对其中原理进行了简单的总结!可以参考我之前写的一篇总结iOS性能优化-理论基础 而离屏渲染是导致性能优化最主要的原因,这篇文章主要总结一下离屏渲染的知识。不妨思考一下下面的问题,自己是否有一个清晰的认识: 1、界面为什么会卡顿?–从屏幕显示图像的原理去分析(丢...

2018-03-16 18:19:01 1626

原创 iOS性能优化-理论基础

前言在使用UIKit的过程中,性能优化是永恒的话题。很多分析优化滑动性能的文章,只介绍了优化方法,却对背后的原理避而不谈,本文对其中原理进行了简单的总结!不妨思考一下下面的问题,自己是否有一个清晰的认识: 1、界面为什么会卡顿?–从屏幕显示图像的原理去分析(丢帧现象) 2、你怎么检测界面存在卡顿?– 参考KMCGeigerCounter(FPS、CADisplayLink、SKView...

2018-03-07 11:11:43 1093

原创 OC中load方法和initialize方法的异同

一、执行时机它们的特别之处: 在于程序运行一开始就被调用了,即在类使用之前,就自动调用了这两个方法。 1、load方法:如果类自身没有定义,并不会调用其父类的load方法; 2、initialize方法:如果类自身没有定义,就会调用其父类的initialize方法;二、区别执行的前提条件: 1、load 只要类所在文件被引用,就会执行; 2、如果类没有引用进项目,就不会有lo...

2018-02-28 16:34:00 515 1

原创 ffmpeg记录

1、yuv原始数据转jpg格式 ffmpeg -y -s 1280x850 -pix_fmt yuv420p -i output_border.yuv kobe_border.jpg2、jpg格式转yuv原始数据 ffmpeg -i kobe1.jpg -pix_fmt yuv420p -y kobe1.yuv -v 0疑问: 比如一张jpg原图,大小368KB,通过ffmpeg将其转换成yu

2017-06-28 19:33:31 305

原创 UIWebView网页cookie丢失

问题描述: 最近在做一个小app,通过UIWebView加载一个网页,一直操作app内的网页,首先在网页上面进行登录操作,登录成功之后,跳转到一些需要登录的页面,会出现尚未登录的界面,但是通过safari 打开,是可以正常显示登录之后的界面的。

2017-04-18 14:46:06 2314

原创 苹果个人开发证书提交appStore细节

这是一个很繁琐,很需要耐心的事情! 本人从事iOS开发几年,但是最近才真正的第一次提交项目到appStore,说起来也惭愧,因为公司项目的提交都是由老大来做的。首先,你得有苹果个人开发证书,99$一年,你值得拥有!接着,你需要学会如何申请开发证书certification,需要理解证书certification、appID、provisioning profile这几个操作流程。(开发版dev证书

2017-04-18 14:44:31 1999

原创 项目使用jspatch在线修复的一些心得

记录一下在使用jspatch的时候,遇到的一些难点和瓶颈

2017-04-18 14:44:04 1180

原创 移动开发需要对底层有深入的研究吗?

上一年年末有一段时间一直在看一本《计算机网络》的书,大学的课本,项目组同事看到会觉得疑惑:我们搞移动应用开发的,有必要对这些网络基础这么熟悉吗?其实对于这个问题,我之前也一直在问自己。回答这个问题之前,先来看看移动开发到底是一个怎样的工作?从事移动开发的人,一定对下面这样的开发流程非常熟悉:需求分析->业务梳理->搭建框架->业务层开发->改bug->发布项目。借助于大量优秀的第三方库/框架,开发人

2017-04-18 14:39:40 377

原创 iOS多线程编程--NSThread

本文主要讲解的是NSThread的使用,通过NSThread可以相对深入理解多线程的原理。Thread 是这三种范式里面相对轻量级的,但也是使用起来最负责的,你需要自己管理线程的生命周期,线程间的同步问题。

2016-06-14 23:39:07 354

原创 RunLoop-深入剖析

前言先来看下app开发中一个常见的现象:一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生。 给我们的感觉就像应用一直处于随时待命的状态,在没人操作的时候它一直在休息,在让它干活的时候,它就能立刻响应。其实,这就是run loop的功劳。这一篇文章主要总结一下r...

2016-06-08 16:15:30 562

原创 iOS多线程编程--GCD

让我们来深入学一下iOS多线程开发中,最有魅力的一种方式GCD。通过这篇文章,可以加深我们对于队列的理解,了解串行、并行、同步、异步等概念

2016-06-05 23:41:28 361

原创 iOS多线程编程--NSOperation

前言:iOS支持多个层次的多线程编程,层次越高的抽象程度越高,使用也越方便。根据抽象层次从低到高依次列出iOS所支持的多线程编程方法:1.Thread :是三种方法里面相对轻量级的,但需要管理线程的生命周期、同步、加锁问题,这会导致一定的性能开销。2.Cocoa Operations:是基于OC实现的,NSOperation以面向对象的方式封装了需要执行的操作,不必关心线程管理、同步等问题。NS

2016-06-05 13:44:31 417

原创 SDWebImage异步下载和缓存的源码剖析

前言:在移动app开发过程中,考虑到手机流量、网速以及内存等因素,当我们的app需要频繁的访问网络时,对网络优化这块的要求就显得尤为重要。比如某个app需要经常重复显示很多张网络图片的时候,如果在每次需要显示同一张网络图片,都要访问网络进行下载操作,那就显得很不合理了。因为那样会相当耗时,且耗流量。这就需要对已下载好的网络图片进行缓存操作。我目前开发的一个项目属于展示类app,一个需要频繁处理网络图

2016-05-30 23:24:42 2153

原创 如何优雅的实现界面统跳协议

如何优雅的实现界面统跳协议如何优雅的实现界面统跳协议什么是统跳协议为什么要使用统跳协议怎么实现统跳协议如何配置路由协议什么是统跳协议?这里说的是一种基于URI的iOS页面跳转协议。这种基于URI(或者基于文件配置)的页面跳转方式,大大增加了app端的灵活性,而实现的原理类似于前端开发中的路由协议。这里提到了路由,那么什么是路由呢?这里的路由,并不是指[硬件路由],也不是网络七层协议中的[网

2016-05-23 23:22:00 1553

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除