iOS中使用OpenGL 实现增高功能
功能效果 demo示例 功能分析 功能:渲染一张传入的图片 -> 手动选择编辑区域 -> 通过滑块来编辑区域的增高或者缩短 OpenGL原理: 因为OpenGL 只能绘制三角形,所以在处理图像或者图形的时候我们需要将被处理的对象用三角行来分割转换为三角形和顶点的组成的对象。 Op…
iOS Crash 捕获及堆栈符号化思路剖析
最近在做 Crash 分析方面的工作,发现 iOS 的崩溃捕获和堆栈符号化虽然已经有很多资料可以参考,但是没有比较完善的成套解决方案,导致操作起来还是要踩很多坑,耽误了很多时间。所以想做一个总结,阐述 Crash 收集分析的整体思路和出坑指南,具体细节实现会给出相关参考资料。有…
iOS-线程安全
多线程技术对于计算机开发带来了巨大的性能提升,同样也来带了新的伤痛——线程安全问题。在开发中,稍不注意,我们就可能写出让代码陷入不安全的境地,线程锁是一种用来帮助我们保护临界资源的手段。事实上,现代语言提供了多种不同的线程锁来保护代码。通过深入挖掘,可以发现线程锁的核心无非是Co
iOS App Thinning 实践
优化ipa安装包大小
iOS 逆向开发先导篇
我是这么调试开发的
iOS成长之路3期·WWDC17内参开卖
毫无疑问,这是关于 iOS 11以及 WWDC17 介绍最详细的书。感谢所有作者做出的贡献。因为本书还没有全部完成(还有几篇文章正在完成中),现在高调发布预售版。现在价格为39元,9月本书文章全部完成价格会恢复到49元。 强势购买不要犹豫 淘宝购买链接: https://ite…
从简书iOS客户端,来谈谈Hybrid方案细节设计
作为一位 iOS 开发人员,你应该已经敏感地发现,自己的工作涉及内容已经不止于 Native 的部分,因为 Hybrid App 和 ReactNative 等技术方案已经不仅仅是概念,越来越多的公司开始着手自己的 Hybrid 方案以及 ReactNative 本地化工作。 …
关于IPV6审核被拒的完整分析
自从去年6月1号Apple明文规定所有开发者提交新版本都必须支持IPV6-Only的网络,估计很多iOS开发者都遇到由于IPV6网络不支持造成的审核被拒的情况, 我被坑的不轻啊, 下面就来分析一下IPV6问题如何解决。 大意是在iPad上运行iOS 10.3.2 wi – fi…
iOS App 稳定性指标及监测
作者介绍:李运锋,美团点评iOS工程师,5年iOS开发经验,现在是美团点评点餐团队的一员。 前言 本文较长(5000字左右),建议阅读时间: 20min+ 一个iOS App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑…
提升 iOS 开发效率! Xcode 9 内置模拟器的9个技巧
iOS模拟器是在开发任意iOS应用程序过程中不可或缺、无法被忽视的一个部分。值得一提的是,Xcode 9的新模拟器带来了很多有用的功能,能够提升你的开发效率。对比历代模拟器的更新,这次有了很重大的改变。 所以让我们开始这篇教程的重点吧,本文会列出我在新iOS模拟器中发现的新功能…
玩转iOS开发:iOS开发中的装逼技术 – RunTime(二)
在前一章里, 我们把RunTime的一些基础概念和一些小东西给弄明白了, 正式踏入装逼队伍行列. 如果没有加入到装逼队伍行列里的小伙伴, 可以去看看玩转iOS开发:iOS开发中的装逼技术 – RunTime(一). 在前面一篇文章里, 我们用Clang把RunTimeModel…
使用 Instruments 检测内存泄漏
内存管理是 iOS 里一大重要内容,经历过 MRC 时代的开发者或多或少都被引用计数折磨过,后来苹果推出了 ARC (Automatic Reference Counting),这一技术大大减轻了内存管理的工作量,也降低了因内存管理而出错的概率。但在 ARC 下还是有一些场景会导…
京东 iOS 研发工具篇之 Mock Server 技术实践
iOS Mocker 是京东部署的一套服务端接口 Mock 工具,主要用于业务开发过程解耦、测试数据保存和分享、客户端容错测试等场景。目前已完成搜索、商详、购物车等核心购物流程的接入,内部存储的数据基本覆盖了这些模块所有线上可能出现的接口返回场景,为各模块的版本迭代和代码重构提供了更全面的数据保障。
豆瓣App 的模块化实践
豆瓣在 2014 年聚合了移动端业务,推出了一款叫“豆瓣”的App。随着豆瓣App 的发展,豆瓣越来越多的业务线被纳入其中。豆瓣App 代码量越来越多,功能越来越复杂,体积越来越庞大。为了更从容地应对这种状况,使整个项目更健康,我们实施了模块化。模块化的最终目的是独立出几个业务模
iOS – 视频采集详解
当添加 input 和 output 到 session 中时,session 会自动建立起一个连接(AVCaptureConnection)。我们可以使用这个 connection 来设置从 input 或者 从 output 得到的数据的有效性,也可以用来监控在音频信道中功…
神奇的 BlocksKit (一)
本篇文章非常长,因为 BlocksKit 的实现还是比较复杂和有意的。这篇文章不是为了剖析 iOS 开发中的 block 的实现以及它是如何组成甚至使用的,如果你想通过这篇文章来了解 block 的实现,它并不能帮到你。
响应式编程与MVVM架构—理论篇
前段时间,在使用了一段时间的MVVM架构之后,我从实际的项目中抽离出来,对使用MVVM架构的整个过程进行了总结,对于架构、对于编程思维又有了不一样的体会。于是提笔写下自己探索MVVM架构的经验和心得,以飨读者。 本文会先对MVC架构做一个回顾,明确MVC中各层的职责;然后会提出…
iPhone X 交互设计官方指南
就在今天凌晨,苹果发布了带刘海的 iPhone X,这个屏幕需要 iOS 开发者做新的适配,会后苹果发布了 iPhone X 的适配指南,我们将它翻译出来供大家参考。
据说这是程序员被黑得最惨的一次 – SSL/TLS协议原理解析
本文系作者学习后巩固知识点,错误之处烦请点出,本文从叙述一个小故事的视角来介绍 SSL/TLS 的原理,希望对读者有所启发。 背景 程序员小明想给隔壁小红写信表白,但是又不想让信件内容被其他人看见,希望只有小红才能看见信件内容,迫不及待的小明的大脑飞快运转起来。 小明 预备基础…
ObjC 中国 – 数据模型和模型对象
本文我们将会更加深入探讨Core Data 的 models 以及 managed object 的类 。本文绝不是对 Core Data 的简单概述,而是在实际运用中鲜为人知或不易记忆却可以发挥奇效的那一部分的合集。如果你需要的是更详细的概述,那么我推荐你去看 “Apple’s Core Data Programming Guide”。
Xcode 9 —进阶的 iOS Simulator
iOS Simulator 是 iOS 开发过程中不可或缺的一部分,我平时工作中也有很大一部分时间在使用 iOS Simulator, 相比于 Android ,iOS Simulator 具有启动时间快,运行效率高等显著的特点。 因此,用好 iOS Simulator 对于提…
iOS动画系列之九:实现点赞的动画及播放起伏指示器(OC+Swift)
iOS动画系列,共十篇。现在写到第九篇啦。最近写代码有点疲惫,一点都不想动,突然敲起代码,那个手生呀~所以说,码农就是熟练工种还是有一定道理的。 CAReplicatorLayer、CAEmitterLayer和CAGradientLayer这三个专用层。 还是老惯例啦,先看看…