- 博客(20)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 对象的底层探索(上)
简介为了提升自身的技术水平,最近对OC的一些底层的东西进行探索,在这里进行一下记录,以免自己对已学过的知识点遗忘了。Alloc函数汇编代码分析首先新建一个项目,如下图随便写一个alloc的方法,加上断点,并且使用Always Show Dissasembly 进入汇编代码。进入后看到的是如下图:其中callq的指令就是进行方法函数的调用的(Arm架构的指令是b或者bl,iOS和M1芯片的电脑都是Arm的,这里用的是x86的),这里根据后面的指针可以看出这里调用的是objc_alloc方法。
2022-05-12 21:30:56
585
原创 ReactNative 0.62.x版本新特性整理
版本新特性介绍0.62.0简介支持了Flipper升级了新的日志框加入了黑暗模式的支持由于这个版本是疫情期间发布的(3.27),因此感谢了这个版本的贡献者,并且提供了一个issue,如果新版本有问题可以在这里提出(https://github.com/react-native-community/releases/issues/179)。另外还提供了新的rn版本升级工具,这个工具是一个网站选择完成升级的版本之后,会列出所有升级改动到的地方,可以一个一个进行修改,修改完一个项目后,可以在这个
2020-10-30 15:11:59
778
1
原创 iOS App Extension 学习笔记(二)---- Extension的种类及功能
iOS App Extension 学习笔记(一)----Extension的基本概念本文的目的了解App Extension的基本概念了解App Extension的种类了解每种App Extension能够实现的功能了解每种App Extension是如何实现的了解App Extension之间如何进行数据通讯了解App Extension的运行原理App Extension的种类参考文献https://www.cnblogs.com/junhuawang/p/8178276.
2020-08-18 19:20:20
2045
原创 rn项目升级到0.57后ios发生duplicate symbol错误
在升级到0.57.2后,ios打Debug版本正常,但是打Release版本的包的时候一直报错duplicate symbol,如下图duplicate symbol _hw_addrs in: /Users/coolkit/Library/Developer/Xcode/DerivedData/ewelinkDemo-dwlwsyegxlisvqhdwxmqnxvnlyrg/Bui...
2020-08-12 14:30:24
219
原创 iOS App Extension 学习笔记(一)----Extension的基本概念
iOS App Extension 学习笔记(一)----Extension的基本概念本文的目的了解App Extension的基本概念了解App Extension的种类了解每种App Extension能够实现的功能了解每种App Extension是如何实现的了解App Extension之间如何进行数据通讯了解App Extension的运行原理App Extension的基本概念根据iOS - App Extension 整体总结一文描述,有关App Extension有三个
2020-08-03 15:18:09
997
原创 react-native debug的时候遇到不能使用ip地址真机测试,但是可以使用localhost
今天将mac电脑升级到10.14.6版本后,发现打开react-native的jsServer之后,无法通过真机拉下js代码,使用浏览器输入url也无法拉下来,只有将ip地址改为localhost才可以。通过使用lsof -i:8081 命令发现该端口被系统某个进程占用,只要使用kill命令,将该进程kill掉就可以正常了。...
2019-09-16 17:59:04
842
原创 EspTouch概述
参考资料:https://blog.youkuaiyun.com/zwl1584671413/article/details/81086645步骤描述:1.用户创建任务对象,其中包含参数对象、服务器对象和客户端对象2.设置超时时间与成功返回设备上限数值3.获取本地ip地址4.创建配网对象5.配网对象包含导向数据对象、主数据对象6.导向数据对象以固定格式生成,主要用于告知设备解析主数据时的一个...
2019-06-27 17:42:41
7396
原创 H264编码基础知识简单梳理
# 编码基础知识 ** 术语解释 * 码率(bps) 单位时间(秒)内传输的数据编码的大小 * 帧率(fps) 单位时间(秒)内帧数的大小(一个帧是一个画面,其中包括,采集源数据的帧率,编码帧率,解码帧率) ** 编码格式 * 头部,每个帧都需要加载最前面 0x00 0x00 0x00 0x01 或者 0x00 0x00 0x01 * S...
2019-01-13 16:36:53
459
原创 AES加密方式简析
最近了解AES加密相关,做一个总结,希望如有不对之处,请指教* AES加密是对称加密 128 192 256 分别表示密钥的长度* AES的加密方式会将明文拆分成不同的块进行加密,例如一个256 位的数据用128的密钥加密,则分成 明文1(128位) 明文2(128位) 加密 密文1(128位) 密文2(128位)* 填充:如果明文不是128...
2019-01-13 16:34:00
3310
原创 Block原理浅析,循环引用的产生方式
经常在一些面试题里面或者其他规范里面看到,block里面不能用self,否则会产生循环引用,但是为什么不能用self,循环引用是什么,如何产生的循环引用,这些总是一知半解。带着问题,查询了一些资料了解了一部分产生原因,在这做一下记录,以防自己忘掉了,如果有大神有不同意见,欢迎提出~~1.block的内部是什么样的?LLVM Block_private.h上block的定义如下:/* ...
2018-10-28 22:44:31
1707
原创 react native项目介入萤石云SDK,DEBUG模式或者模拟器编译错误的解决方法
将Build Settings中的Dead code striping字段的debug和release都设置为YES即可
2018-01-23 10:09:57
1344
2
原创 AFNetworking源码分析(一)
出于提高自己对ios技术的考虑,决定研究一下优秀的第三方开源框架的源码,以防自己的辣鸡记性把看过的东西忘得光光的,在这里做一下记录吧。毕竟也不是什么大神,所以都是一些自己的理解,观者如果有不同意见,希望轻喷!对于AFNetWorking的框架已经进入了3.0在这里就不再分析前面版本的框架了。AFN主要用于对网络请求的封装,在后面的文章里还会描述一种笔者抄袭腾讯云demo的二次封装方法,
2017-09-16 15:39:39
1187
原创 iOS中的runtime源码简要分析(一)
首先先明确两个关键字,IMP和SEL。在一个OC的类中有.h文件和.m文件,一般来说一个是放@interface 一个是放@implementation,和这个类似SEL就是一个函数的声明方法,而IMP就是这个方法的实现,也就是一个函数的指针接下来我们开始进行源码分析(源码取自源码下载的当前最新版709)在runtime中,一般使用者会引入objc/message.h文
2017-09-07 17:57:12
2645
原创 Mac系统下安装和卸载HomeBrew的方法
安装方法:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 卸载方法/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/
2017-08-24 11:32:37
48500
原创 SDWebImage的源码解读
SDWebImage共有17个OC文件以及一个多余的头文件,下面将会按照顺序一个一个进行文件的解读:1.ImageContextType文件:主要提供识别图片数据的图片格式,是NSData的分类,扩展了一个分类方法sd_imageFormatForImageData,该方法会根据图片数据的第一个字节的数据来判断图片的格式:JPG、PNG、GIF、TIFF和WEBP,否则是undefined。
2017-08-08 18:02:35
295
原创 ios约束遇到BottomBar时报错的问题
BottomBar只要没有与他相关的约束,就不需要设置Bottom的约束,如果有,必须要设置BottomBar的x,y和width
2017-03-27 11:51:39
387
原创 关于在ViewDidLoad中修改控件的位置大小无效的问题
在ViewDidLoad中修改的控件的大小和位置,但是在显示时却并没有按照想法显示。这是由于在StoryBoard的加载中,有时会在ViewDidLoad执行之后,将控件的位置大小进行重置,使其按照storyboard中的位置大小显示。解决方法:重写ViewDidLayoutSubviews方法或viewWillAppear方法,在其中加入改变空间位置大小的语句。
2016-02-16 09:49:55
982
原创 ios蓝牙使用总结
关于ios蓝牙的相关编程,网上又很多教程,在这里,我经过了一段时间的学习,总结出了一些自己理解的东西,纪录在这里,方便自己和其他人看。 现在用到的蓝牙技术又3.0和4.0.两者之间在ios编程中的区别仅仅是4.0版本的蓝牙收发数据报时,传递数据的长度只有20个字节。因此在数据处理的时候,要根据具体情况来调整。首先,我们先以3.0为例。 (本文中仅是一
2015-07-28 11:49:07
2819
2
ios发布时,如何自己修改发布的APP的兼容性那一栏的信息啊?
2015-07-30
iOS 里uitableview的问题
2015-03-23
我想从手机相册中获取照片储存到NSDictionary中,下面是我写的代码
2015-02-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人