文章 2022-05-21 来自:开发者社区

iOS 底层原理38:自动化打包(一)Xcode + Shell脚本

Apple提供的常规打包方式主要是由Xcode支持的,下面展开来聊聊Xcode打包Xcode的打包主要分为两步:Archive:对target进行编译、归档,生成.xcarchive 文件Export:对生成的.xcarchive 文件进行进一步的处理,生成不同渠道的ipa包,进行分发Archive编译归档Archive主要是对target进行编译、归档,生成.xcarchive 文件。可在Xc....

iOS 底层原理38:自动化打包(一)Xcode + Shell脚本
文章 2022-05-21 来自:开发者社区

iOS 底层原理37:链式编程

主要介绍链式编程原理,以及如何创建链式编程编程范式在介绍链式编程之前,首先来了解下什么是编程范式。编程范式是编程语言的一种分类,是指从事软件工程的一类典型的编程风格常见的编程范式常见的编程范式主要有以下几种面向过程编程(Process Oriented Programming,POP):属于典型的程序流程思想,即按照一定的顺序,按部就班的工作,特别适合解决线性的问题,其中过程化编程语言主要包含机....

文章 2022-05-21 来自:开发者社区

iOS-底层原理 15:dyld发展史

dyld简介dyld全名 The dynamic link editor;是苹果的动态链接器;是苹果操作系统的一个重要组成部分;在应用被编译打包成可执行文件之后(即Mach-O),将其交由dyld负责链接,加载程序。dyld贯穿了App启动的过程,包含加载依赖库、主程序,如果我们需要进行性能优化、启动优化等,不可避免的需要和dyld打交道且dyld是开源的,我们可以在官网下载它的源码来阅读理解d....

iOS-底层原理 15:dyld发展史
文章 2022-05-21 来自:开发者社区

iOS 底层原理 自测(一)

一、选择题有多选,有单选1、在LP64下,一个指针的有多少个字节 A: 4 B: 8 C: 16 D: 64解析:1个指针8字节2、一个实例对象的内存结构存在哪些元素 A:成员变量 B: supClass C: cache_t D: bit解析: 实例对象的大小由成员变量决定。其中BCD是类的结构3、下面 sizeof(struct3)大小等于struct LGStruct1 { cha...

iOS 底层原理 自测(一)
文章 2022-05-21 来自:开发者社区

iOS-底层原理36:内存优化(一) 野指针探测

本文主要讲解两种野指针检测的原理及实现技术点:野指针探测本文的主要目的是理解野指针的形成过程以及如何去检测野指针引子在介绍野指针之前,首先说下目前的异常处理类型,附上苹果官网链接)异常类型异常大致可以分为两类:1、软件异常:主要是来自kill()、pthread_kill()、iOS中的NSException未捕获、absort等2、硬件异常:硬件的信号始于处理器trap,是和平台相关的,野指针....

iOS-底层原理36:内存优化(一) 野指针探测
文章 2022-05-21 来自:开发者社区

iOS-底层原理 35:组件化(二)组件间通讯方式

本文主要讲组件化之间是如何通讯的组件化通讯方案目前主流的主要有以下三种方式:1、URL路由2、target-action3、protocol匹配URL路由目前iOS上大部分路由工具都是基于URL匹配的,或者是根据命名约定,用runtime方法进行动态调用这些动态化的方案的优点是实现简单,缺点是需要维护字符串表,或者依赖于命名约定,无法在编译时暴露出所有问题,需要在运行时才能发现错误。URL路由方....

iOS-底层原理 35:组件化(二)组件间通讯方式
文章 2022-05-20 来自:开发者社区

iOS-底层原理 35:组件化(一)方案

本文主要讲解组件化的两种方案组件化组件化其实就是将模块单独抽离、分层,并指定模块间的通讯方式,从而实现解耦的一种方式,主要运用与团队开发为什么需要组件化?主要有以下四个原因1、模块间解耦2、模块重用3、提高团队协作开发效率4、单元测试当项目因为各种需求,越来越来时,如果此时的各个模块之间是互相调用,即你中有我,我中有你这种情况时,会造成高耦合的情况。一旦我们需要对某一块代码进行修改时,就会牵一发....

iOS-底层原理 35:组件化(一)方案
文章 2022-05-20 来自:开发者社区

iOS-底层原理 34:界面优化方案

本文主要介绍界面卡顿的原理以及优化界面卡顿通常来说,计算机中的显示过程是下面这样的,通过CPU、GPU、显示器协同工作来将图片显示到屏幕上1、CPU计算好显示内容,提交至GPU2、GPU经过渲染完成后将渲染的结果放入FrameBuffer(帧缓存区)3、随后视频控制器会按照VSync信号逐行读取FrameBuffer的数据4、经过可能的数模转换传递给显示器进行显示最开始时,FrameBuffer....

iOS-底层原理 34:界面优化方案
文章 2022-05-20 来自:开发者社区

iOS-底层原理 33:内存管理(三)AutoReleasePool & NSRunLoop 底层分析

本文主要分析 AutoReleasePool 以及 NSRunLoop 的底层实现AutoReleasePool 自动释放池自动释放池是OC中的一种内存自动回收机制,它可以将加入AutoreleasePool中的变量release的时机延迟,简单来说,就是当创建一个对象,在正常情况下,变量会在超出其作用域的时立即release。如果将对象加入到了自动释放池中,这个对象并不会立即释放,会等到run....

iOS-底层原理 33:内存管理(三)AutoReleasePool & NSRunLoop 底层分析
文章 2022-05-20 来自:开发者社区

iOS-底层原理 27:GCD 之 NSThread & GCD & NSOperation

本文的主要目的是介绍 NSThread、GCD、NSOperation常见的使用方式NSthreadNSthread是苹果官方提供面向对象的线程操作技术,是对thread的上层封装,比较偏向于底层。简单方便,可以直接操作线程对象,使用频率较少。创建线程线程的创建方式主要以下三种方式通过init初始化方式创建通过detachNewThreadSelector构造器方式创建通过performSele....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

mPaaS 移动开发平台

mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas

+关注