UIApplicationDelegate 中两个值得注意的地方
这个知识点可以用于面试,以及对于一些对初始化时机有要求的 SDK 配置的 bug 排查。 答案是会的,应用从 active 状态至 suspended 状态,是必须经过 background 状态的,我们应该按照官方规范,在 applicationDidEnterBackgro…
iOS 内存 Jetsam 机制探究
带你认识 iOS 中难以定位的问题:out of memory,带你读 iOS 内核源码,深入剖析问题
聊聊iOS数据保护
聊聊iOS数据保护
iOS 中 HTTPS 证书验证浅析
本文的目的,一是简要分析下对服务器身份验证的完整握手过程,二是证书链的验证,三是探索下iOS中原生库NSURLConnection或NSURLSession如何支持实现https
[[翻译]iOS的Core Text教程:制作一个杂志应用](https://juejin.im/entry/59f0a…
杂志,Core Text和大脑!
更新说明:本教程已经由Lyndsey Scott升级为Swift 4和Xcode 9。最初的教程由Marin Todorov所创作。
Core Text是一个底层的文本引擎,当与Core Graphics/Quartz框架配合使用的时候,可以对…
iOS应用瘦身方法思路整理
前段时间注意到我们APP的包大小超过100MB了,所以随口跟吕老板说了下能否采用字体文件(.ttf)替代PNG图片,吕老板对应用瘦身很感兴趣因此让我做下技术调研。这篇文章主要是将我们的各个技术方案的思路做一下整理和总结,希望对大家有所帮助。
UILabel 实现整体拷贝功能
UILabel 本身是不能响应用户事件也无法复制的,但是可以通过一些配置从而弹出选项弹窗以响应系统事件甚至是自定义的事件
(译)窥探Blocks (1)
本文翻译自Matt Galloway的博客,借此机会学习一下Block的内部原理。 今天我们从编译器的视角来研究一下Block的内部是怎么工作的。这里说的Blocks指的是Apple为C语言添加的闭包,而且现在从clang/LLVM角度来说已经成为了语言的一部分。我一直很好奇B…
iOS中加密、解密
分组密码(块加密)即是无状态加密,加密之后除了密文其他信息都会丢失 #import <CommonCrypto/CommonCrypto.h> 流密码主要用于大型或流式集合这些难以一次性加密的情况,操作速度快。流密码称为有状态加密,因为他们 知道加密处理的位置 创建CCCryp…
记一次iOS自动化打包走过的坑-关于React Native-iOS项目
最近为公司前期做的一个项目做持续构建平台打包迁移支持,由于之前未参与类似工作,且我也基本未参与这个项目开发工作,所以途中磕磕碰碰遇到了很多很多的问题,而且由于项目属于React Native项目,而且代码版本较老,更是出现了很多无法预料的问题,因而结合本次Jenkins使用的s…
iOS动画系列之八:使用CAShapeLayer绘画动态流量图
这篇文章通过使用CAShapeLayer和UIBezierPath来画出一个动态显示剩余流量的小动画。 1. CAShapeLayer 实际中,能够用CALayer完成的任务是比较少的,如果使用这个基础图层就能实现绝大部分的功能,咱们就没有必要再开启一个CAShapeLayer…
如何使用iOS数据保护功能
现代 iOS 设备支持数据保护功能,其负责利用内置加密硬件保护用户数据。在今天的文章中,我们将了解各类应用如何利用这一功能保护自有文件、从各来源处收集细节信息,同时将其与我自己的观察结论加以结合。
终于iOS11里,我们拥有了傻瓜化的交互式动画
我们先思考一个问题:iOS11 之前创建哪类动画最麻烦?
答:交互式动画和自定义的timingFunction动画。
无code无真相。我们先来看看早先版本的动画接口是如何实现交互式动画和自定义timingFunciton的。
大家知道,iOS里面动画的实现方式主要是两种,一种…
响应式编程与MVVM架构—理论篇
前段时间,在使用了一段时间的MVVM架构之后,我从实际的项目中抽离出来,对使用MVVM架构的整个过程进行了总结,对于架构、对于编程思维又有了不一样的体会。于是提笔写下自己探索MVVM架构的经验和心得,以飨读者。 本文会先对MVC架构做一个回顾,明确MVC中各层的职责;然后会提出…
NSLog效率低下的原因
利用Xcode在非越狱机器上动态调试第三方APP
App Store上的应用都使用了FairPlay DRM数字版权加密保护技术,动态调试之前需要先将其解密。
关于iOS11中estimatedRowHeight
相信大家都已经升级了iOS11,而且也做了相应的适配,其中对于tableView这个控件进行适配的时候,比如:集成MJRefresh的时候,当然还有其他很多情况下,很多资料都有说需要把estimatedRowHeight属性设置为0,那么它到底是什么,为什么要这么来做,我们来探…
iOS App 启动时间优化
iOS App 启动时间优化
iOS category内部实现原理
无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Ob…
iOS中的锁的介绍及简单使用
在平时的开发中经常使用到多线程,在使用多线程的过程中,难免会遇到资源竞争的问题,那我们怎么来避免出现这种问题那?
史上第二走心的 iOS11-Drag & Drop 教程
话不多说,先上效果图 普通view拖拽效果 TableView拖拽效果 CollectionView效果 muti-touch效果 多app交互 世界上最大的男性交友网站有demo 一种以图形展现的方式把数据从一个 app 移动或拷贝到另一个 app(仅限iPad),或者在程序…