09-iOS之load和initialize底层调用原理分析
load方法测试代码:新建Person类,在里面添加断点:#import "Person.h" @implementation Person + (void)load { NSLog(@"load"); } @end调用顺序如图:接下来通过源码分析一下底层调用;load_images函数首先看断点3处的load_images中函数:void load_images(const char ...
IOS系统推送原理
IOS推送大致原理如下图1、Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]);2、APNS:Apple Push Notification Service[苹果消息推送服务器];3、iPhone:用来接收APNS下发下来的消息;4、Client App:IOS设备上的应用程序,用来接....
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
最近项目中有一个自定义的刷新控件,以前用过很多第三方,所以这次决定自己写一个来用,先看下效果吧:这个效果分解一下可以分为三步:1.拉伸放大图片;2.松手开始刷新,背景开始旋转;3.刷新完毕,回到起始位置;一步步带你来看这里怎么写:1.拉伸放大图片:图片大小一开始为0,随着拉伸图片大小开始放大,达到指定大小后不再改变;/* 在scrollView的代理方法中这么写,往下拖拽偏移量小于0,按照偏移量....
一个iOS噪音计模型、以及测量原理及分贝计算
前言最近在办公室觉得有点吵,然后忽然想做一个噪音计测试一下噪音,在App Store下载了几款测噪音软件,使用原来都大同小异。于是决定自己实现测噪音的原理。分贝dB首先要测量噪音,必须知道噪音的大小的参考的单位为分贝(dB),分贝的定义如下:SPL = 20lg[p(e)/p(ref)]p(e)为待测的有效声压,p(ref)为参考声压,一般取2*10E-5帕,这是人耳能分辨的最小声压(1KHz)....
自建iOS构建流水线建设核心原理剖析
一、背景1.1 问题移动端开发交付项目中,由于交付团队技术沉淀参差不齐,开发流程极不规范,经常出现这打包在本地,甚至是集中在某个外包开发自己,这样的方式存在以下问题:不安全:代码、证书、签名泄漏风险低效:环境不可靠,稳定,打包效率慢,小的改动打包可能涉及到大量的人工操作低质量:受本地环境如缓存、分支、配置等因素影响较大,出包质量参差不齐协同性低:基本集中在某个人身上,高度依赖版本管理差:个人记录....
iOS UI 自动化测试原理以及在 Trip.com 的应用实践
前言笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。从而,笔者更深入地研究了 iOS 平台下的自动化测试技术,目前也在负责部门 App 自动化测试平台的搭建和维护。故想借这篇文章一并将所踩过的坑以及学习到的技术,系统且全面地整理出分享给大家。本文的内容大致如下:iOS/macOS UI 自动化测试框架 XCUITest 原理详解基于 We....
iOS探索 -- KVO 的原理分析
什么是 KVO?KVO (key-value-observing) 是一种 键值观察 机制, 它允许当前对象去观察目标对象的某个属性的变化; 当被观察对象的属性发生变化后, 会通过特定方法通知观察者对象属性变化的一些情况内容, 观察者对象拿到变化情况后做出相关操作。关于 KVO 的一些详细介绍可以去 苹果官方文档 了解一下, 这里就不做过多介绍了。KVO 的初探进行探索之前, 首先看看 KVO ....
iOS 底层原理39:Instruments系列(一)Instruments介绍
前言通常程序运行时常见的错误大致分为两类用户使用引起的外部错误,例如缺少参数、参数错误等程序运行时产生的内部错误,例如内存溢出、空指针、以0做除数等针对第一种外部错误,一般是不可控的,因为用户的行为是随机的,所以一般只能采取相应的预防措施,尽最大程度去避免这类问题针对第二种内部错误,可以通过一些工具及时的找出问题并修正。这里就不得不提及Xcode自带的检测调试工具Instruments了。介绍I....
iOS 底层原理38:自动化打包(三)Fastlane
除了Jenkins可以自动打包,还有另一个方式:Fastlane,下面来了解下。Fastlane是一个完全开源的项目,是一款为iOS和Android开发者提供的自动化构建工具。它可以帮助开发者将App打包、签名、测试、发布等流程串联起来,实现完全自动化的工作流。其官网地址为:https://fastlane.tools/Fastlane安装参考配置文档,安装步骤如下:检查ruby版本,需要2.0....
iOS 底层原理38:自动化打包(二)Jenkins + GitLab 实现自动打包
前提一般大型的公司都有部署好的Jenkins环境,所以这里不在赘述Jenkins的搭建过程,对于Jenkins不了解的童鞋可以自行google下。Jenkins作为可扩展的自动化服务器,可用作简单的持续集成(CI,Continuous Integration)服务器,或是持续交付(CD,Continuous Deployment)中心。其特点如下:即时性。Jenkins是一个基于Java运行的程....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
mPaaS 移动开发平台
mPaaS 源于蚂蚁集团金融科技,为 App 开发、测试、运营及运维提供云到端的一站式解决方案,致力于提供高效、灵活、稳定的移动研发、管理平台。 官网地址:https://www.aliyun.com/product/mobilepaas/mpaas
+关注