iOS基础-专栏总目录(持续更新)
#公众号:iOS逆向 117 2

@[toc]

引言

欢迎大家来到#公众号:iOS逆向的《iOS基础》专栏

本文列出学习大纲,同时也可作为大家学习《iOS基础》专栏的索引。 文中的蓝字都是传送门,点击进入即可

本专栏侧重于程序开发和 iOS 开发的基础知识和技能以及产品需求案例,当然也会包括提高项目质量和提升开发效率模块。

  • 基础涉及内容:app上架指南、语言、框架、内存、网络、存储、渲染、线程
  • 产品需求案例:

    1、普通的数据显示案例,即网络拉数据->存储->读取->展示; 2、代理商CRM app、商户收银app 3、计划涉及的案例:浏览器内核,文字排版引擎,音视频和图像处理引擎,图标绘制引擎

  • 质量

    1、测试/调试技巧(测试保证质量是一个很重要的环节):黑盒测试、单元测试、自动化测试 2、性能优化:网络/存储/内存/渲染/算法优化 3、监控体系:卡顿监控、数据库监控、流量消耗监控、内存消耗监控、耗时监控(问题响应) 4、代码管理:代码规范/代码规范检测工具、code review 机制(互相监督,减少脏乱差代码) 5、应用安全:敏感信息的脱敏规范、网络传输的安全、敏感信息安全(用户名/密码)、代码混淆【iOS应用逆向与安全模块请移步到《iOS逆向》专栏学习】

I、 上架指南

1.1 iOS上架干货汇总

1.2 上架相关操作技巧

【AppStore 上架相关技巧】1、由于AppStore缓存原因,导致已上架iOS app(可供销售)在AppStore上搜不到的解决方案2、不更新版本的情况下删除App Store非主语言的方法(应用场景:马甲包)

1.3 iOS被拒绝的解决方案汇总

iOS被拒绝的解决方案汇总:1、因蓝牙功能隐蔽而导致上架2、iOS审核1.1.6被拒(安全-令人反感的内容)

1.4 系统框架(API)适配

II、 开发基础知识

III、渲染

3.1 动画

在这里插入图片描述

3.2 文字/图像处理

3.2.1 Quartz2D使用指南

IV、 网络与数据存储

app从拉取数据到显示的大致流程:

从网络拉取数据 存储到本地文件系统 再从本地取出来放进内存,最后渲染出来。

从流程就可以看出本模块讲解的内容大纲如下:

  • 数据存储

  • https 的原理

  • dns 劫持(重试机制)

  • 优化弱网络下的连接(离线机制)

  • 客户端跟后台的通信协议

    数据结构json /protobuf、数据的增量更新

  • 线程

    这里所有的处理都在操作系统的进程和线程中执行,因此了解线程相关知识是必不可少的

4.1 数据存储

4.2 数据搜索

2.设置请求头 [request setValue:@“application/json” forHTTPHeaderField:@“Content-Type”]; 3.设置JSON数据为请求体

V、需求案例: 注册/登陆基础模块

5.1 支付产品的基础知识

5.2 登陆模块

5.3 注册模块

5.3.1 《用户协议及隐私政策》弹框

5.4 处理用户输入内容

5.5 地理信息处理

VI、 内存

  • ARC 机制

    OC 的引用计数 、自动释放池、Java语言的垃圾回收机制

  • 内存管理

    避免内存泄露

  • 缓存管理

    避免缓存太多导致OOM、缓存命中率太低性能低下 Out Of Memory:“内存用完了”。 它来源于java.lang.OutOfMemoryError。

  • 线程和进程

    iOS 开发只在做 Extension 时才需要考虑到进程, 主线程子线程,多线程并发锁竞争,死锁,GCD,Runloop

6.1 进程

6.1.1 Extension的应用例子:语言播报

VII、质量(code review 、性能)

7.1 测试

7.1.1 技巧

7.1.2 AB 测试流量切换方案

7.2 安全

【iOS应用逆向与安全模块请移步到《iOS逆向》专栏学习】

【敏感信息的脱敏规范】(数据类型包括日志相关、账户订单、个人信息、账户认证、持卡数据)

7.3 性能优化

1、 检测各方面的数据,量化运行性能, 2、从检测数据寻找性能瓶颈 3、找解决方案并用监测的数据验证优化效果

7.4 监控系统

【电池的状态处理:电池状态获取及监测、电池电量获取及监测、低电量模式切换监测】

VIII、 效率

效率教程模块放在了 《iOS进阶》专栏

see also

更多iOS技术文章,请关注 “iOS逆向” 公众号,一起学习,一起进步。

在这里插入图片描述 在这里插入图片描述

预览图
评论区

索引目录