2022年5月25日
摘要: 一、邮箱验证基本步骤 1.注册新邮箱,并开启邮箱的POP3/SMTP/IMAP功能,开启授权码服务 2.添加相应权限,联网、网络状态等信息 3.emailRegister文件 3.1 拿到用户邮箱 3.2 向用户邮箱发送验证码,后续验证验证码正确性(4、5) 3.3实现用户注册 4.sendEmai 阅读全文
posted @ 2022-05-25 19:33 suanningmeng98 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Retrofit Retrofit是Adnroid常用的一种网络请求框架,他是一个基于OkHttp网络请求的封装了网络请求接口的框架 二、Retrofit的基本使用 1.需要添加Retrofit和OkHttp的依赖 2.添加对应的网络请求权限 3.创建接受服务器返回数据的类(类文件) 4. 阅读全文
posted @ 2022-05-25 16:42 suanningmeng98 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 一、DownloadUtil实现的功能 从给定的url上接受图片数据 保存图片数据到本地 二、具体步骤 1.初始化路径;(这里选择自己所需要的路径即可); private static final String FILE_PATH = Environment.getExternalStorageDi 阅读全文
posted @ 2022-05-25 15:28 suanningmeng98 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Glide Glide是从多种类中的源加载和显示图片的一种第三方框架,可以兼顾缓存和图片处理维持低内存消耗。 二、Glide的简单使用 1.在AndroidMainFest.xml中添加包依赖: dependencies { implementation 'com.github.bumpt 阅读全文
posted @ 2022-05-25 14:47 suanningmeng98 阅读(77) 评论(0) 推荐(0) 编辑
  2022年5月22日
摘要: 一、分类 1.1 分类结构体 struct category_t { const char *name; classref_t cls; WrappedPtr<method_list_t, PtrauthStrip> instanceMethods; WrappedPtr<method_list_t 阅读全文
posted @ 2022-05-22 20:08 suanningmeng98 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 一 我们要分析的流程阶段: 参考这篇博客:https://juejin.cn/post/7098001140553351198#heading-1 dyld在main函数之前会递归加载动态库,此时会间接调用到_objc_init, (在libSystem动态库被加载的时候,它的子libObjc会调用 阅读全文
posted @ 2022-05-22 15:39 suanningmeng98 阅读(163) 评论(0) 推荐(0) 编辑
  2022年5月20日
摘要: 首先,我们先来认识一下Mach-O文件: 一、Mach-O文件 mach-o是iOS/macOS二进制文件的格式,mach-o又分为几种不同的类型。常见的mach-o文件类型有以下几种: Executable(产物为ipa包) Dynamic Library(产物为动态库) Bundle(产物为bu 阅读全文
posted @ 2022-05-20 21:25 suanningmeng98 阅读(259) 评论(0) 推荐(0) 编辑
  2022年5月11日
摘要: 前一个博客介绍了objc_msgSend消息发送的机制,本节我们从动态解析以及之后的消息转发来继续了解。 一、动态解析 我们通过上面的forward_imp来深入了解一下,我们通过对forward_imp一层层的调用关系最后定位到了最后这张图片,即当找不到方法实现的时候,就尝试一次方法解析。一次动态 阅读全文
posted @ 2022-05-11 17:18 suanningmeng98 阅读(105) 评论(0) 推荐(0) 编辑
  2022年5月9日
摘要: 一、消息发送 我们先来了解一下什么是消息发送;C语言是静态,OC是动态类型。在编译的时候不知道具体类型,运行的时候才会检查数据类型,根据函数名找到实现。实现语言动态的就是Runtime的API,主要有两大核心: 动态配置:动态的修改类的信息。添加属性、方法、甚至成员变量的值等数据结构。 消息传递:包 阅读全文
posted @ 2022-05-09 17:00 suanningmeng98 阅读(560) 评论(0) 推荐(0) 编辑
  2022年5月4日
摘要: 在之前的类的底层探究中, 我们并未对于类结构体中的cache_t进行详细说明,那么本节我们来看一下cache 一、cache的结构总览 我们之前已经知道了cache占据了16个字节,那么我们来具体看一下cache,他本身存储了一个指针_bucketsAndMayBeMask是8个字节,还存储了一个联 阅读全文
posted @ 2022-05-04 18:09 suanningmeng98 阅读(46) 评论(0) 推荐(0) 编辑