
iOS学习
MYCROW
努力工作 尝试沉淀
展开
-
【Flutter/IOS混编】flutter build ios-framework打出xcframework问题
昨天下午更新了最新版的Flutter,版本如下:Flutter 1.24.0-10.2.pre • channel beta • https://github.com/flutter/flutter.gitFramework • revision 022b333a08 (4 周前) • 2020-11-18 11:35:09 -0800Engine • revision 07c1eed46bTools • Dart 2.12.0 (build 2.12.0-29.10.beta)按照往常在编原创 2020-12-16 11:07:48 · 4055 阅读 · 0 评论 -
【iOS】class-dump学习后续(一)增加解析静态库的功能 Updating
如果使用class-dump解析一个.a文件,会有如下的提示Error: Fat file doesn't contain a valid Mach-O file for the specified architecture (x86_64). It probably means that class-dump was run on a static library, which is ...原创 2020-03-24 18:08:49 · 1016 阅读 · 0 评论 -
【iOS】class-dump源码学习(四)源码学习完结
上一篇:【iOS】class-dump源码学习(三)续上一篇讲讲CDObjectiveCProcessor的process方法中加载协议和类,今天继续process方法中CDObjectiveC2Processor的loadCategories方法分析TODO...原创 2020-03-20 17:54:04 · 323 阅读 · 0 评论 -
【iOS】class-dump源码学习(三)
上一篇:【iOS】class-dump源码学习(二)续上一篇讲完CDObjectiveCProcessor的process方法中加载符号表的两个方法,今天继续process方法学习回到CDObjectiveCProcessor的process方法继续,紧接着加载符号表的是[self loadProtocols];[self.protocolUniquer createUniqued...原创 2020-03-19 16:31:03 · 558 阅读 · 0 评论 -
【iOS】class-dump源码学习(二)
续上一篇简要介绍完load commands,开始分析class-dump对mach-o文件load commands区域的处理回到CDMachOFile方法_readLoadCommands:count:。- (void)_readLoadCommands:(CDMachOFileDataCursor *)cursor count:(uint32_t)count;{ NSMu...原创 2020-03-18 15:23:26 · 704 阅读 · 0 评论 -
【iOS】class-dump源码学习(一)
学习版本:class-dump-3.5.dmgBuild上手打开工程先build一次(Xcode10)报错缺少openssl的头文件命令行指令 which openssl 打印LibreSSL 2.6.5,说明苹果已经将openssl替换成了libressl使用 brew install openssl安装openssl安装完毕后会有这样的提示,应该是和现有有冲突,暂不做...原创 2020-03-17 15:00:22 · 814 阅读 · 0 评论 -
【iOS】git commit message规范调研
主要参考:Git commit message 规范message规范<类型>[可选的作用域]: <描述>[可选的正文][可选的脚注]commitizen环境配置cz-conventional-changelog标准落地实现对比...原创 2020-03-08 18:52:29 · 577 阅读 · 0 评论 -
【iOS】UITextField中关于粘贴Paste操作的一些小发现
测试跟我提了一个BUG怎么这个文本输入框粘贴一次就可以,再粘贴一次就没有效果了呢?赶紧Review代码前提是这样的:UITextField肯定重写了textField:shouldChangeCharactersInRange:replacementString:。里面对string做了英文字母+数字的过滤处理NSCharacterSet *cs = [[NSCharacte...原创 2019-12-05 17:18:16 · 2819 阅读 · 0 评论 -
【iOS】View Controllers布局相关参数:edgesForExtendedLayout和automaticallyAdjustsScrollViewInsets
记录参考:https://www.jianshu.com/p/ca3c5a94c32bedgesForExtendedLayouttypedef enum : NSUInteger { UIRectEdgeNone = 0, UIRectEdgeTop = 1 << 0, UIRectEdgeLeft = 1 << 1, ...原创 2019-11-08 14:17:25 · 428 阅读 · 0 评论 -
【iOS】iOS面试知识点学习(UI相关,完结)
前言总的而言,就我这将近一年的工作经历来说,成长真的是远远不足。如果突然有天公司把我辞退,想要通过社招找到一份称心的工作,以我现在的水平来说可能真的是有点痴心妄想了。出于这种虚无的紧迫感吧,尝试学习/复习/巩固一下iOS开发的知识点,以其在未来不至于那么被动吧。全篇图文基本自网络,属于知识总结,如有错漏欢迎指出UIView与CALayer(一)UIView是iOS系统中...原创 2019-08-27 10:40:53 · 361 阅读 · 0 评论 -
【iOS】Block Hook概念+BlockHook第三方库分析(基本原理已完结,补充libffi方法解释)
block hook就是勾住block进行逻辑注入,且不影响原有block逻辑。依赖OC的运行时机制,拦截方法比较容易,但是拦截block却没那么简单前置知识1:Block数据结构后面的介绍和分析都用到了block的数据结构,这里先整理一下。Block的定义在Block_private.h中,点击查看源码。#define BLOCK_DESCRIPTOR_1 1struct...原创 2019-08-20 16:59:41 · 3524 阅读 · 0 评论 -
【iOS】iOS Block基本用法记录
做了大半年IOS,每次想写block的时候都发现不记得格式,总要翻一翻老代码然后copy一份,然而并不能记住,恶性循环影响工作效率。参考:https://www.jianshu.com/p/e82bc3acc2c9记录一下block的基本用法,目标是流利的写出一个个block。原型声明和定义NSString *(^myBlock)(int);原型声明分三部分,格式可以总结为:...原创 2019-08-12 17:34:05 · 1330 阅读 · 0 评论 -
【iOS】iOS面试知识点学习(Objective-C语言特性,KVC,属性,2021.1.13更新)
前言这篇学习文章的框架草稿其实一早打好了,但是工作上接二连三有些琐碎的事情打乱了节奏,中途也稍微又有些泄气,不过最后还是希望坚持一下全篇图文基本自网络,属于知识总结,如有错漏欢迎指出分类/类别/Category1.适用范围对于一个已经封装好的类(比如系统类、第三方库),不想/不能改动这个类,但是想在类中增加一个方法,这时候只需要给原来的类增加一个分类。其实分类不应该理解成“...原创 2019-10-29 14:57:25 · 601 阅读 · 0 评论 -
【iOS】基于frida的砸壳工具优化方案(和砸壳本身关系不大)
小组里用的砸壳工具主要有两种:一种是Clutch,使用比较简单的,但是总是会砸失败(原因大佬说过我忘了)一种是frida,使用稍微复杂一点,不过效果好,当然也有问题,下面主要讨论frida。使用frida砸壳需要这些东西:(大部分步骤是网上的资料,一些是自己实际使用的时候调整的)iPhone端:1. 添加源:https://build.frida.re2. 按机子架构安装对...原创 2019-01-22 15:48:41 · 1325 阅读 · 0 评论 -
【iOS】一个取巧的弹出式动画实现以及后续的iOS动画学习(第一部分:基于CALayer的Core Animation框架)
二月中上班,开始开年需求,现在到三月初算是基本完成,也在测试之前趁着有那么一点空闲时间和精力记录下一些开发中遇到的问题。这次记录下的是一个简单的动画效果实现。当时时间比较紧,用了一个取巧的动画实现(实际原因是没看懂CA动画怎么用),因此在这里记录下来,同时研究一下CA动画。需求分析(不知道怎么设置成循环,似乎只能刷新看一次)这个动画效果分为两部分,要求其实有三:1.图案从小...原创 2019-03-04 16:12:48 · 727 阅读 · 0 评论 -
【iOS】当Xcode10不支持SVN时,我只好学习使用git-svn(不涉及分支管理)2019.8.29更新
前言其实这个学习很早之前就开始了,主要的动机就是Xcode10不支持SVN,导致所有的项目代码在Xcode10上再也无法对照历史版本了(隔壁大佬提出严重抗议)。解决方法也是大佬找到的,说试试git-svn这个玩意儿。然而组里一直用的SVN,大佬们也没有那么多时间去试错,因此这个任务就落到当时的“闲人”我身上了。基本原理(?)git-svn顾名思义,就是使用git来连接SVN仓库。...原创 2019-03-05 15:44:21 · 2439 阅读 · 0 评论