自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (2)
  • 收藏
  • 关注

原创 Xcode15报错: SDK does not contain ‘libarclite‘

报错的情况下没有arc文件夹,也没有libarclite_iphonesimulator.a文件,上面三个步骤走完之后将xcode彻底关闭并重新启动之后重新运行后将会修复这个问题。(libarclite_iphoneos.a真机的也可以一起加进去)中的libarclite_iphonesimulator.a。pod lib lint *** b报错。报错原因是因为此路径下: 缺少arc文件。3、将下载下来的文件粘贴到arc文件夹下。或者xcode运行报错。1、新建arc文件夹。

2024-03-22 09:42:52 1407

原创 Xcode15 iOS 17 Simulator 离线安装,模拟器安装

Xcode 15 安装包的大小相比之前更小,因为除了 macOS 的 Components,其他都需要动态下载安装,否则提示 iOS 17 Simulator Not Installed。

2023-12-22 09:37:04 7921 10

原创 RxSwift 使用方式

最近项目业务,所有模块已经支持Swift混编开发,正在逐步使用Swift 方式进行开发新业务,以及逐步替换老业务方式进行发展,所以使用一些较为成熟的Swift 的三方库,成为必要性,经过调研发现RxSwift 在使用的情况上,较为成熟,且方便实用;以下介绍一些RxSwift 使用的一些方式和大家一起学习讨论。Swift为值类型,在传值与方法回调上有影响,RxSwift一定程度上弥补Swift的灵活性。

2023-07-12 17:46:50 922

原创 pod install报错

将项目打开,在项目设置修改右边栏中的Project Format为比Xcode 14.0-compatible更低就可以了。

2023-07-07 10:23:07 1602

原创 iOS17版本适配

1、UIGraphicsBeginImageContextWithOptions函数崩溃。2、日历中写入事件改动。

2023-07-05 21:22:07 5703 1

原创 iOS 16 版本适配

11、iOS16.0 第三方输入法键盘在频繁弹出、收起时,会出现over-release导致闪退,如果遇到控制器跳页,并且键盘频繁弹出、收起的情况,建议拉长键盘弹出间隔,比如把键盘弹出放到viewDidAppear中,不会彻底解决,但会降低出现闪退概率。10、UITableView调用reloadData时,cell的复用也会发生变化,如果有异步操作(比如网络请求)过程中,调用了reloadData,此时捕捉到的cell其实已经不再是之前的cell了,那么和cell相关的操作就都有问题。

2023-06-29 15:35:39 2175

原创 iOS 如何创建一个线程安全的数组

我们平时使用的NSMutableArray,在进行增删改查的时候,会出现数据异常的场景(关键是异常并不是必现的,不太好复现)运行代码,发现最后array的个数并不等于6000,多运行几次,发现每次的结果都不一样。1、通过NSLock锁实现。2、通过串行队列实现。

2023-06-29 15:21:25 1147

原创 iOS的签名机制

密钥传输用 非对称加密(安全), 消息传输用 对称加密 (速度快)

2022-11-14 20:22:48 1321 1

原创 M1上模拟器无法运行的项目,可以用Rosetta打开

M1上模拟器无法运行的项目,可以用Rosetta打开

2021-12-07 10:02:37 6962

原创 iOS15新特性适配(告警:UITableView sectionHeader下移22像素,间距变高)

1、UINavigationBar在iOS 15中,UINavigationBar默认为透明。在滑动时会有模糊效果。如果想要一直就是模糊效果,可以通过改变scrollEdgeAppearance属性来实现。解决办法:UINavigationBarAppearance*barApp=[[UINavigationBarAppearance alloc]init];barApp.backgroundEffect=[UIBlurEffect effectWithStyle:UIBlurEffect

2021-11-25 14:33:03 4203

原创 git 创建分支并推送远端

一、 创建test分支提交步骤1.列出所有分支# git branch -a2.创建test分支 # git branch test3.切换到test分支: # git checkout test4.添加add修改:# git add .5.添加commit注释# git commit -m "第一次提交代码"6.提交到服务器# git push origin test二、将test分支合并到master本地分支...

2021-11-08 17:34:17 2234

原创 iOS开发 Xcode12 升级 (模拟器运行)报错问题

遇到问题1.升级xcode12报错 'xxx.a' is missing one or more architectures required by this target: x86_64.解决问题在buildsetting ->VALID_ARCHS里的debug添加x86_64,如果有多个target 分别都修改下原因分析Xcode12苹果推出了新的arm架构的mac,会默认支持x86_64所以非arm架构的mac需要手动支持知识补充(cpu架构)真机...

2020-11-11 13:56:16 1975

原创 Git 分支使用情况与服务器文件过大拉不下来解决方案

1.查看本地分支$ git branch* br-2.1.2.2 master2.查看远程分支$ git branch -r //查看远端分支 origin/HEAD -> origin/master origin/feature/IOS_visualtrack origin/feature/android_visualtrack origin/master3.查看所有分支$ git branch -a* br-2.1.2.2 master

2020-07-03 10:36:17 1592

原创 git stash简单操做,让你不再迷茫

当我们在使用git的时候,又是会有这种情况:当新的需求了的时候。我们需要为此需求新建一个分支,再次分支上进行修改,当经过测试,提交代码时,在将其合并到主分支,或生产分支上。但是有时候也有失误的时候,忘记创建新的分支了,或者忘了切换分支了,在错误的分支上进行了开发。又或者你的需求已经开发了一些的,这时有个新的紧急需求来了,而你又不想把你的代码修改直接提交到仓库,这怎么办?怎么办??别怕,有git stash命令。那什么是 stash 哪?官方解释是“储藏”。其实stash区域就是一个缓存区,但..

2020-07-03 10:18:28 182

原创 AFNetwork 3.0 结构及功能介绍

AFN结构1.通讯核心类 1.1 AFURLSessionManager 1.2 AFHTTPSessionManager 继承于1.12.序列化类 2.1:AFURLRequestSerialization 2.1.1:AFHTTPRequestSerializer 2.1.2::AFJSONRequestSerializer 2.1.3 AFPropertyListRequestSerlizer 2.2AFURLRes...

2020-05-26 10:48:46 931

原创 iOS之KVC原理&自定义KVC

前言开发过程中,很多人都会注意到KVO,以及自定义KVO,实际上KVC的作用也是十分强大的,不仅仅是简单的字典转模型,有关使用技巧可以看上篇文章,这篇文章要根据上篇的总结来进行自定义KVC操作;相关代码:KVCCode(上篇代码也在这里)KVC原理实际在自定义过程中主要要注意的2大点:1.KVC设置过程,2.KVC取值过程,1.KVC赋值过程1:非空判断一下2:找到相关方法set<Key>,_set<Key>,_setIs<Key>实例方法进行

2020-05-21 11:39:58 481

原创 iOS之你不知道的KVC技巧&KVC原理

前言iOS开发中很多人都知道KVC ,聊到KVC大家也都知道,就是字典转模型,但是再具体聊的话,就说不太清楚了,这篇文章,准备把KVC再来了解一下; XZPerson *person = [XZPerson alloc]; person.name = @"Alan";在调用person.name 会有LLVM编译过程中统一分发给底层的void objc_setProperty_atomic(id self, SEL _cmd, id newVa.

2020-05-19 18:16:32 741

原创 iOS卡顿原理及优化方案

前言很多iOS 开发,都会面临到解决开发过程中的卡顿问题,从而也衍生出来很多的方法去解决卡顿问题,这篇文章来描述下iOS卡顿产生的原因,以及一部分解决办法;iOS卡顿原理1.像素是如何显示到屏幕上从最初的电子枪显示器说起,电子枪逐行读取像素点,逐行发射到屏幕上,每当一行扫描完成,显示器会发出水平同步信号HSync;然后继续下一行,直到最后一行完成一帧的绘制,电子枪恢复到起点继续下一帧的绘制,显示器会发出一个垂直同步信号VSync。对于iOS设备,VSync信号的间隔是16.7ms,也就是1秒

2020-05-14 09:47:35 2037

原创 面试题之架构设计六大基本原则

前言最近面试,面试被面试官问到,开发中使用到那些架构模式:回答,MVC ,MVVM ,MVP 架构方式,在问MVVM 中遵循了那些架构原则,直接懵逼了,使用到了架构方式,但是并不清楚架构原则都有什么,接着赶紧查询下架构原则;架构架构最重要的就是编程思想:利于开发者 利于公司 利于客户架构六大原则1.单一职责原则(SRP Single Responsibility...

2020-05-08 16:58:50 1103

原创 iOS算法提升之四(买卖股票的最佳时机)

题目买卖股票的最佳时机题目解析: 给定一个数组,它的第 i 个元素是一直给定股票 第 i 天的加个。如果只允许完成一逼交易(即 买入和卖出一直股票一次),设计一个算法来计算你所能获取的最大利润注意: 你不能在买入股票之前,卖出股票输入:[7,1,5,3,6,4]输出:5解释:在第2天的时候股票价格=1 的时候买入,在第5天股票价格 = 6 的时候卖出,最大利润 = 6-...

2020-05-07 18:14:20 328

原创 面试题之--Charles抓包原理

前言面试官:面试官问我iOS开发过程中使用了那些抓包工具?回复:Charles,Wireshark(可以抓取长连接包)等工具面试官:然后紧接着面试官问我,有没有抓过https的包?回复:使用Charles 工具抓过,面试官:那你说说Charles抓https的抓包原理?回复:如果直接问https的原理(可查看http与https的爱恨情仇),还可以直接回复,问了个这个就懵逼...

2020-05-07 15:44:41 5978 1

原创 iOS算法提升三(给定一个字符串,请找出不含有重复字符的最长子串长度)

题目:要求:给定一个字符串,请找出不含有重复字符的最长子串长度输入:‘abcabcbb’输出:3解释:因为无重复字符的最长子串是abc,所以长度为3输入:‘bbbbbbb’输出:“1”输入:”pwwkew“输出:3解释:因为无重复的字符的最长子串是wke,所以长度为3,请注意,你的答案必须是子串中的长度,‘pwke’是一个子序列,不是子串;/** 思路:...

2020-05-06 18:04:11 652 1

原创 iOS 探索KVO四(自定义KVO进阶)

前言前几篇KVO的文章介绍了一些KVO的使用方式和KVO的实现原理和自定义KVO,但是有几个问题没有解决,例如:如果监听多个属性,上篇文章中的自定义KVO就不能解决了,自动销毁等,本篇文章需要在上篇文章的基础上进行阅读;KVO监听多属性多属性监听KVO,Github地址首先引入思路 引入一个类来保存观察者 在保存观察者的时候,需要使用数组或字典进行保存 在...

2020-05-06 16:46:16 340

原创 iOS开发算法提升二(数组中两数之和为固定值返回下标)

题目: 给定一个整数数组,nums和一个目标值target ,请在数组中找出何为目标值的两个整数,并返回下标 要求: 不能出国内服利用这个数组中的同一元素,例如:8+8 = 16; 举例:给定nums = [2,3,9,12],target = 15; 因为给定的nums[1] + nums[...

2020-05-02 23:49:22 336

原创 iOS 探索KVO三(自定义KVO)

前言前两篇KVO的文章介绍了一些KVO的使用方式和KVO的实现原理,这篇文章我们来自定义KVO;自定义KVO自定义KVO首先要有个大概思路,根据KVO原理来进行操作:自定义KVO源码请移步github点击下载1.添加通知即:- (void)xz_addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath ...

2020-04-30 18:08:20 378

原创 iOS开发算法提升一(最长上升子序列)

前言作为一个iOS开发人员,开发工作经验5年,对数据结构与算法一直不够重视,最近对项目进行优化,发现算法还是比较重要的,后续每天都发表一篇算法题,以此提高自己的开发思维,每天贴上的代码,都会在github上面有提交,有需要的可以自行下载;正文开始题目:给定一个无需的整数数组,找出其中最长的子序列长度举例:输入:[10,9,2,5,3,7,101,18]输出: 4解释:最...

2020-04-30 10:05:36 192

原创 iOS 探索KVO二(原理探索)

前言上篇文章介绍了一些KVO的使用方式,包括监听多个字段改变的值,和监听可变数组等;这篇文章来探索一下KVO的实现原理;原理探究首先还是看一下官网的介绍:Key-Value Observing Implementation DetailsAutomatic key-value observing is implemented using a technique calledi...

2020-04-29 11:00:43 224

原创 iOS 探索KVO一(几种简单的KVO使用方式)

前言KVO全称为Key Value Observing,键值监听机制,由NSKeyValueObserving协议提供支持,NSObject类继承了该协议,所以NSObject的子类都可使用该方法。文章中的DemoKVO监听写法例如在XZPerson类中有这么几个属性@interface XZPerson : NSObject@property (nonatomic, co...

2020-04-28 18:02:12 448

原创 iOS源码调试

前言最近有一些小伙伴私信我,说看之前的iOS底层系列文章中,下载的objc4_752源码不能使用,这里需要给大家解释一波修改方法1.在使用objc4_752源码源码时,注意签名改成自己的代码签名2.选择版本需要在target 版本10.143.添加系统库libobjc.A.dylib ,可以进入源码调试4.最近发现使用xcode11可能会导致崩溃但是xcode10 可以...

2020-04-24 14:07:51 676

原创 iOS 面试题 sel详解weak本质

1.Runtime是什么?runtime 是由C 和C++ 汇编 实现的⼀套API,为OC语⾔加⼊了⾯向对象,运⾏时的功能2、⽅法的本质,sel是什么?IMP是什么?两者之间的关系⼜是什么?⽅法的本质:发送消息,消息会有以下⼏个流程1:快速查找(objc_msgSend)~cache_t缓存消息2:慢速查找~递归⾃⼰|⽗类~lookUpImpOrForward3:查找不到消息:...

2020-04-24 13:45:09 838

原创 http 与https的爱恨情仇

什么是HTTP?超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。发展历史:版本 产生时间 内容 ...

2020-04-13 14:58:42 883

原创 iOS 逆向初探防护(fishHOOK防护)

前言在iOS开发中,始终都有这安全防护一直都是热门话题,很多的对于开发网络请求要使用https请求,使用RSA +AES加密,本地文件加密等等,这些都是整箱开发中的防护手段,这篇文章,一起来探索一下逆向开发防护的初探;逆向开发人员进攻:应用重签名并注入Framework代码Demo, 后续单独写一篇文章来介绍应用重签名并注入代码;这里先大概介绍一下:应用重签名,使用别人开发的应用(...

2020-04-01 17:09:18 996

原创 iOS逆向之fishhook原理

FishHookfishHook是Facebook提供的一个动态修改链接mach-O文件的工具。利用MachO文件加载原理,通过修改懒加载表(Lazy Symbol Pointers)和非懒加载表(Non-Lazy Symbol Pointers)这两个表的指针达到C函数HOOK的目的。在逆向中经常使用fishHook这个工具。所以在学习过程中,我们重点要了解其原理,这样能够对恶意代码进行...

2020-04-01 15:20:11 515

原创 本地创建cocoapods私有仓库

1.CocoaPods简介CocoaPods是专门为iOS工程提供第三方依赖库的管理工具,通过CocoaPods,我们可以更方便地管理每个第三方库的版本,而且不需要我们做太多的配置,就可以直观、集中和自动化地管理我们项目的第三方库。CocoaPods将所有依赖的库都放在一个名为Pods的项目下,然后让主项目依赖Pods项目。然后,我们编码工作都从主项目转移到Pods项目。Pods项目最终会...

2020-03-31 16:19:23 1234

原创 iOS优美的内存管理

前言相关代码:工程Demo内存管理这篇文章主要会从内存布局,内存管理方案,ARC&MRC ,引用计数,弱引用,以及自动释放池这几个方面来进行详细的介绍;内存布局,五大区程序加载到内存中会被分开为几个区:内存地址从高到低分别是:内核区内核区:系统内核处理大小一般为1G stack(栈区):存储函数, 方法,常量等, 地址从高到低;(0x7,大概地址) he...

2020-03-25 16:40:41 282

原创 lldb调试进阶

前言相关文章 lldb调试命令一相关代码LLDB前面一篇文章,让大家了解了一些LLDB 在断点上的用法,这篇文章主要对lldb的一些进阶用法。LLDB进阶在之前的iOS底层探索中,我经常Xcode调试的时候在LLDB上输入:p xxx或者 输入了po xxx,就获取了一个对象的值。那么p或者po含义到底是什么呢?LLDB输入help...

2020-03-24 11:14:50 360

原创 iOS底层探索十(方法的本质下-消息转发流程)

前言相关文章iOS底层探索二(OC 中 alloc 方法 初探)iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上)iOS底层探索七(类的分析下)iOS底层探索八(方法本质上)iOS底层探索九(方法的本质下objc_msgSend慢...

2020-03-23 17:25:48 457

原创 iOS开发优化的起步之启动优化

前言作为开发人员,启动是App给用户的第一印象,对用户体验至关重要。任何开发的APP的业务迭代迅速,如果放任不管,启动速度会一点点劣化。为此iOS客户端团队做了大量优化工作,除了传统的修改业务代码方式,我们还做了些开拓性的探索,首先我们需要考虑的是,应用启动分为2种情况:冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动,根据测试结果并非是杀掉进程后直接启动,...

2020-03-20 17:18:51 792

原创 iOS底层探索九(方法的本质中--objc_msgSend慢速及方法转发初探)

前言相关文章 iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上)iOS底层探索七(类的分析下)iOS底层探索八(方法本质上) 相关代码: ...

2020-03-20 17:18:34 553

原创 iOS 面试题(iskindof)

这篇文章我们对面试题题目是这样的:相关源码:objc4_752源码isa走位图:int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... BOOL re1 = [(id)[NSObject class] isKindOfC...

2020-03-12 16:35:16 428

code->首选项->用户代码片段

vsCode,xml提示

2024-01-24

SwiftUI-FlexLib 的使用xcode模版

xcode模版

2024-01-24

Swift-FlexLib 的使用xcode模版

xcode模版

2024-01-24

FlexLib 的使用xcode模版

xcode模版

2024-01-24

ftp上传demo

ftp 文件上传 ftp上传图片

2018-01-16

demo6_PhotoRiver-master_01

demo6_PhotoRiver-master_01 ,大家想要的可以随意的下载一下.

2015-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除