iOS开发知识要点详解大全

收集并整理iOS开发需要了解的重要知识和功能,以及相关链接.
后续不断更新其他功能

测试

单元测试(1)逻辑测试
单元测试(2)异步测试
单元测试(3)性能测试

集成自动化测试
人工测试
黑盒测试流程
白盒测试及其基本方法

UITest
UI 测试
覆盖率测试
Unit单元测试.

代码管理Git和SVN

使用Git进行代码管理
SVN日常管理代码

动画

iOS动画-通篇详解:

多线程

iOS 从实际出发理解多线程

iOS多线程的详情使用示例–简进
iOS多线程-归纳与总结:

关键字等

iOS关键字(上):
iOS关键字(下):

(1)alloc/reatain/release/dealloc
(2)autoreleasepool/autorelease
(3)__strong/__weak/__unsafe_unretain/__autoreleasing
(4)assign/retain/copy/weak/strong
(5)assign/retain/strong等
(6)assign/retain/strong等
(7)const
(8)nil/NULL/Nil/NSNull/nan
(9)abs/fabs/fabsf等
(10)NSString格式化输出
(11)集合类

集成及自动化

IOS打包测试发布环境配置:
IOS打包测试发布环境配置-上篇
IOS打包测试发布环境配置-中篇
IOS打包测试发布环境配置-下篇
IOS打包测试发布环境配置-附加篇

Jenkins持续集成

搭建jenkins实现自动化部署
使用jenkins实现xcode自动打包
iOS开发-自动化打包Jenkins集成

Shell脚本打包提交iOS

Shell脚本打包提交iOS
Shell脚本打包提交iOS
Shell脚本打包提交iOS

计算机知识

百度文库: 计算机网络(第5版)重点知识总结
GPU/CPU的异同
CPU:处理复杂的逻辑功能,单个或少量任务 ; GPU: 处理大量的,简单的,重复计算的任务,比较耗时,因此GPU的操作往往需要开辟一条子线程处理
iOS上:
CPU : 图片显示的渲染等等
GPU : 图像的合并,透明度,离屏渲染,视频的加工等等

GPU/CPU
GPU/CPU
GPU/CPU

架构设计

手机淘宝客户端架构探索实践
组件化方案
组件化架构漫谈

iOS组件化方案的几种实现
OC组件项目
QMUI腾讯UI框架
Swift组件项目

组件化/模块化

[模块化与解耦](模块化与解耦 – 刘坤的技术博客)

浅析 iOS 应用组件化设计

[iOS组件化思路-大神博客研读和思考](iOS组件化思路-大神博客研读和思考 – 简书)

[iOS组件化实践方案-LDBusMediator练就](iOS组件化实践方案-LDBusMediator炼就 – 简书)

[iOS组件化方案探索](iOS 组件化方案探索 « bang’s blog)

[IOS-组件化架构漫谈](组件化架构漫谈 – 简书)

[一个iOS模块化开发解决方案](一个iOS模块化开发解决方案 – CocoaChina_让移动开发更简单)

2.知名APP组件化方案

[豆瓣App的模块化实践](豆瓣App的模块化实践 – CocoaChina_让移动开发更简单)

手机天猫解耦之路

京东iOS客户端组件管理实践

滴滴出行iOS客户端架构演进之路

[蘑菇街 App 的组件化之路](蘑菇街APP组件化1) 推荐,讲的比较全面

[蘑菇街 App 的组件化之路·续](蘑菇街APP组件化2) 推荐,讲的比较全面

[手机淘宝客户端架构探索实践](手机淘宝客户端架构探索实践-博客-云栖社区-阿里云 )

支付宝钱包客户端技术架构

3.组件化实践

iOS组件化实践

谈谈我的理解-组件化/模块化

[iOS组件化实践(一):简介](iOS组件化实践(一):简介 – 简书)

[iOS组件化实践(二):准备](iOS组件化实践(二):准备 – 简书)

[iOS组件化实践(一):简介](iOS组件化实践(一):简介 – 简书)

[iOS应用架构谈 开篇](iOS应用架构谈 开篇 – Casa Taloyum)

[iOS应用架构谈 view层的组织和调用方案](iOS应用架构谈 view层的组织和调用方案 – Casa Taloyum)

[iOS应用架构谈 网络层设计方案](iOS应用架构谈 网络层设计方案 – Casa Taloyum)

[iOS应用架构谈 本地持久化方案及动态部署](iOS应用架构谈 本地持久化方案及动态部署 – Casa Taloyum)

iOS应用架构谈 组件化方案

内存管理内存的分区

内存管理A
内存管理B
内存管理C

设计模式

24种设计模式介绍
iOS设计模式详解

数据存储

CoreData创建步骤
CoreData使用
FMDB的简单使用
FMDB封装Model
iOS 本地持久化存储
Realm(1)简单使用
1.iOS Realm简单使用(增删改查和排序)
2.Realm存储的类型和Realm数据库关系存储制
3.Realm可空属性,默认值,忽略属性,通知
4.Realm用户机制,数据库操作,数据库迁移

Realm(2)存储的类型
Realm(3)可空属性/默认值/通知
Realm(4)数据库机制/操作/迁移
SQLite3(1)介绍
SQLite3(2)封装

算法

常见算法整理
常见数据结构与算法整理总结(上)
常见数据结构与算法整理总结(下)

离散数学系列:

目录:
计算机中补码的数学运算逻辑及证明
奇偶校检只能检出奇数个误差数学证明
散列函数之双重散列算法解决冲突问题
散列函数之单散列算法解决冲突问题
散列函数之简单散列函数算法
费马因式分解算法优化及素数判定
完全平方数的末两位数字类型的另一种证明
贪婪算法硬币找零最优解问题证明2

贪婪算法硬币找零最优解问题证明
逻辑公式相等的自动证明
排列组合问题之圆形分布
排列组合之线性排列
分金条
进制的意义和算法
集合的异或运算(对称差)

信息摘要算法

hash算法
几种经典的hash算法(散列函数)
散列函数之双重散列算法解决冲突问题
常见hash算法的原理

推送消息

高效的大量(如十万级)推送通知
iOS的推送服务APNs详解:设计思路、技术原理及缺陷等
信鸽团队原创:一起走过 iOS10 上消息推送(APNS)的坑
Android端消息推送总结:实现原理、心跳保活、遇到的问题等
扫盲贴:认识MQTT通信协议
一个基于MQTT通信协议的完整Android推送Demo
IBM技术经理访谈:MQTT协议的制定历程、发展现状等
求教android消息推送:GCM、XMPP、MQTT三种方案的优劣
移动端实时消息推送技术浅析
扫盲贴:浅谈iOS和Android后台实时消息推送的原理和区别
绝对干货:基于Netty实现海量接入的推送服务技术要点
移动端IM实践:谷歌消息推送服务(GCM)研究(来自微信)
为何微信、QQ这样的IM工具不使用GCM服务推送消息?
极光推送系统大规模高并发架构的技术实践分享
从HTTP到MQTT:一个基于位置服务的APP数据通信实践概述
魅族2500万长连接的实时消息推送架构的技术实践分享
专访魅族架构师:海量长连接的实时消息推送系统的心得体会
深入的聊聊Android消息推送这件小事
基于WebSocket实现Hybrid移动应用的消息推送实践(含代码示例)
一个基于长连接的安全可扩展的订阅/推送服务实现思路
实践分享:如何构建一套高可用的移动端消息推送系统?
Go语言构建千万级在线的高并发消息推送系统实践(来自360公司)
腾讯信鸽技术分享:百亿级实时消息推送的实战经验
百万在线的美拍直播弹幕系统的实时推送技术实践之路
京东京麦商家开放平台的消息推送架构演进之路
了解iOS消息推送一文就够:史上最全iOS Push技术详解

网络及安全

加密解密
iOS常见的几种加密方法
对称和非对称加密

蓝牙
iOS蓝牙知识快速入门(详尽版)

微信支付集成
文章 :
官方文档 :

支付宝支付集成
参考文章
参考文章
文档:
iOS接入:
SDK下载:

http/https理解
参考文章
参考文章

Socket
iOS项目开发之Socket编程:
ios底层Socket编程理解:
AsyncSocket 实现即时通信详解:

下载, 上传

iOS 大文件下载、断点续传、后台下载
下载文件思路
iOS 下载功能(断点续传)

新浪微博大牛全方位剖析iOS

1) UI视图
参考文章
参考文章
事件传递机制
UI绘制原理
异步绘制原理
流式页面的性能优化
离屏渲染

2) OC语言
参考文章
KVO
KVC
分类
关联对象

3) Runtime
参考文章
对象、类对象、元类对象
消息传递机制
消息转发流程
Method-Swizzling

04) 内存

引用计数表
弱引用表
ARC、MRC
循环引用
内存管理

05) Block
参考文章
Block本质
截获变量特性
内存管理
循环引用

06) 多线程
参考文章
参考文章
参考文章
GCD、nsoperation
资源共享
线程同步
SpinLock等

07) RunLoop
参考文章
参考文章
事件循环
用户态
核心态
常驻线程

08) 网络
参考文章
参考文章
参考文章
参考文章
参考文章
HTTPS
对称加密算法
非对称加密
DNS解析
HTTP、TCP

09) 设计模式
参考文章
参考文章
桥接、适配器、命令
责任链、单例
六大设计原则

10) 架构/框架
参考文章
MVVM、时长统计框架
图片缓存框架
PV量级10亿级业务架构

11) 算法
参考文章
参考文章
参考文章
字符串反转
单链表反转
有序数组归并
无序数组找中位数

12) 第三方
参考文章
参考文章
AFNetworking ReactCocoa响应式编程库

性能优化

剖析iOS性能优化
剖析iOS性能优化2

性能文章梳理收集: github.com/skyming

关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等

相关开源库

正则表达式

正则语法
常用正则表达式大全
iOS常用正则表达式
iOS常用正则表达式
Swift使用正则语法

直播/视频播放

开发完整的直播app
内容:【如何快速的开发一个完整的iOS直播app】(原理篇)
【如何快速的开发一个完整的iOS直播app】(播放篇)
【如何快速的开发一个完整的iOS直播app】(采集篇)
【如何快速的开发一个完整的iOS直播app】(美颜篇)

直播类APP开发流程解析
直播类APP开发流程解析2

AFNetworking分析

AFNetworking到底做了什么
AFNetWorking解读系列:
AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager
AFNetworking 3.0 源码解读(二)之 AFSecurityPolicy
AFNetworking 3.0 源码解读(三)之 AFURLRequestSerialization
AFNetworking 3.0 源码解读(四)之 AFURLResponseSerialization
AFNetworking 3.0 源码解读(五)之 AFURLSessionManager
AFNetworking 3.0 源码解读(六)之 AFHTTPSessionManager
AFNetworking 3.0 源码解读(七)之 AFAutoPurgingImageCache
AFNetworking 3.0 源码解读(八)之 AFImageDownloader
AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager
AFNetworking 3.0 源码解读(十)之 UIActivityIndicatorView/UIRefreshControl/UIImageView + AFNetworking
AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking
AFNetworking 3.0 源码解读 总结(干货)(上)
AFNetworking 3.0 源码解读 总结(干货)(下)

block原理与使用

关键字__block的底层实现原理
block使用篇
block原理篇

Cocoapods安装和使用

CocoaPods:

iOS逆向与安全

json解析模型

MJExtension 源码下载
MJExtension源码解析

YYModel 源码下载
YYModel源码详细解析-1
YYModel源码详细解析-2

KVO解析

KVO原理1
KVO原理及手动实现

Mac工具/快捷键

Mac/iOS开发工程师 常用的软件
Mac 键盘快捷键
十七个Mac实用工具

Swift开发笔记(航歌 – 做最好的开发者知识平台)

航歌 – 做最好的开发者知识平台
Swift – 第三方图表库 系列篇
航歌 – Swift – RxSwift的使用详解 系列篇
等等

RAC框架使用

航歌Swift:
航歌 – Swift – RxSwift的使用详解 系列篇65+

iOS RAC的使用总结
iOS RAC – 基本用法:
《RACSignal 》
《RACDisposable》
《RACSubject、RACReplaySubject》
《iOS RAC – 基本用法》
《iOS RAC – 定时器》
《iOS RAC – RACMulticastConnection》
《iOS RAC – RACCommand》
《iOS RAC – 核心方法bind》
《iOS RAC – 集合RACTuple、RACSequence》
《iOS RAC – rac_leftSelector》
《iOS RAC – 映射》
《iOS RAC – 过滤》
《iOS RAC – 登录页面,MVVM》

runloop原理与使用

深入理解RunLoop
RunLoop底层原理总结
RunLoop原理和核心机制

runtime分析

runtime通篇详解-上
iOS-runtime通篇详解-下

系列文章:
初识runtime(一)
官方文档翻译(二)
runtime常用接口方法(三)
一些runtime相关术语的数据结(四)
消息发送和消息转发(五)
runtime在实际开发中的应用(六)
自动归档和解档(七)
使用runtime实现字典转模型(八)
万能界面跳转(九)
深入解构objc_msgSend函数的实现(十)

SDWebImage源码解析

图片加载流程
源码阅读笔记

UITableView

cell高度自适应
Masonry和UITableView-FDTemplateLayoutCell的结合使用
UIKit性能调优实战讲解
UITableView使用系列:

web框架源码解析

6大框架列表
深入解析Vue源码
vue源码解析之事件机制原理

Xcode及其工具使用

视图分析
Instruments工具使用

Xcode工具栏介绍

Add a Comment

电子邮件地址不会被公开。