自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CROW的博客

Talk is expensive, show me heart

  • 博客(36)
  • 收藏
  • 关注

原创 【Flutter混编】InAppWebView常见配置&相册问题处理

Flutter自带WebView不想说啥了,就这样吧。反正一番周折之后选择使用第三方的InAppWebView。看源码可以看出本质上是用了Platform调回原生平台的webview,但是xing nen

2021-06-03 11:36:42 5296 5

原创 【Flutter】自定义Tab的切换动画取巧实现

系统的TabBar并没有很好的自定义能力,为了满足设计的需求自己稍微写了一个取巧的Tab切换动画。先看一下实现效果,没有搞动图和视频所以看不了动画。主要需求点是:1.点选Tab时字体需要变大,但是要保持Tab之间的间距不变。2.底部的indicator可以自定义样式。3.切换Tag时indicator有一个平滑(自定义)过渡动画。4.当Tab数量过多时应该支持滑动(此项未实现,主要涉及取巧实现里的问题)实现思路首先先一个顶部Tab的Widget,一个简单的L.

2021-03-25 17:45:38 2019

原创 【工作感悟】写在面试前夕的一些杂谈+面试后记

其实只是一次在客观上并不是很重要的面试,但是主观上无来由的紧张了很多天,甚至从一开始想着啥都不准备,到最后硬逼着自己看了几眼书,看了几眼相关面试题。也许是因为面试的是一个大厂,自忖自己的实力并不匹配,只好妄图临时抱佛脚来寻求一些颜面;又或许是因为自己是心向往之的,一旦有了希冀,害怕失望的心情也就应运而生;又或者是把这次面试看作一个按钮,试图按下这个按钮来催生一些自己的改变。但反正,没了过往以为的,自己会觉得啥都没所谓,“钱不用多,活着就好”的那种闲云野鹤之心。满打满算也算工作了两年半,也许作为一

2021-01-14 17:31:53 222 3

原创 【Flutter混编】基于WebViewJavascriptBridge的flutter与H5桥接方案

应用场景目前使用Flutter对APP的部分页面进行改写,在原生基础上展示Flutter页面。其中遇到了打开的Flutter页面(WebView)无法响应H5桥接的问题。按照网上的方案,WebView和H5的桥接交互主要通过JavascriptChannel实现WebView( javascriptChannels: <JavascriptChannel>[ _alertJavascriptChannel(context), ].toSet(),

2021-01-09 10:44:25 1355 10

原创 【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 3748

原创 【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 948

原创 【iOS】class-dump源码学习(四)源码学习完结

上一篇:【iOS】class-dump源码学习(三)续上一篇讲讲CDObjectiveCProcessor的process方法中加载协议和类,今天继续process方法中CDObjectiveC2Processor的loadCategories方法分析TODO...

2020-03-20 17:54:04 285

原创 【iOS】class-dump源码学习(三)

上一篇:【iOS】class-dump源码学习(二)续上一篇讲完CDObjectiveCProcessor的process方法中加载符号表的两个方法,今天继续process方法学习回到CDObjectiveCProcessor的process方法继续,紧接着加载符号表的是[self loadProtocols];[self.protocolUniquer createUniqued...

2020-03-19 16:31:03 496

原创 【算法】有趣的小题目——如何让一架飞机飞到终点

题目:假设一架飞机只有1个油箱,飞机之间可以相互加油且忽略它们的加油时间。已知一架飞机需要R(R>=1且R为整数)箱油才能从机场A飞到机场B,机场A和B都有无数架飞机,且所有飞机都不能有去无回,问想让一架飞机F从A飞到B至少需要多少架飞机(包括飞机F)?思考:当R=1,那么只需要一架飞机就能从A飞到B,Sum(R=1)=1当R=2,那么飞机F只能飞到A和B的中间,如何才能让他到B...

2020-03-18 18:10:16 200

原创 【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 644

原创 【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 728

原创 【iOS】git commit message规范调研

主要参考:Git commit message 规范message规范<类型>[可选的作用域]: <描述>[可选的正文][可选的脚注]commitizen环境配置cz-conventional-changelog标准落地实现对比...

2020-03-08 18:52:29 508

原创 【iOS】UITextField中关于粘贴Paste操作的一些小发现

测试跟我提了一个BUG怎么这个文本输入框粘贴一次就可以,再粘贴一次就没有效果了呢?赶紧Review代码前提是这样的:UITextField肯定重写了textField:shouldChangeCharactersInRange:replacementString:。里面对string做了英文字母+数字的过滤处理NSCharacterSet *cs = [[NSCharacte...

2019-12-05 17:18:16 2645

原创 【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 239

原创 【iOS】iOS面试知识点学习(Objective-C语言特性,KVC,属性,2021.1.13更新)

前言这篇学习文章的框架草稿其实一早打好了,但是工作上接二连三有些琐碎的事情打乱了节奏,中途也稍微又有些泄气,不过最后还是希望坚持一下全篇图文基本自网络,属于知识总结,如有错漏欢迎指出分类/类别/Category1.适用范围对于一个已经封装好的类(比如系统类、第三方库),不想/不能改动这个类,但是想在类中增加一个方法,这时候只需要给原来的类增加一个分类。其实分类不应该理解成“...

2019-10-29 14:57:25 561

原创 【工作感悟】工作一年散记

自己写的感悟,往往都很少会回头看,因为每次回头看都总会让自己心生羞赧。坚持认识,意识,技术,精神等等属性,总是不断变化的,但不变的是它们新的状态总是会对旧的状态抱有一种居高临下的态度,以至于对我个人而言,很少看得起过去的自己。如果这过去一年有什么是现在的我还算看得起的,我想应该是两个决定:一个是在搬进新住处后决定下载一个健身app,坚持按计划健身,应该坚持两个月又多了吧;另一个是决定在...

2019-09-17 16:07:47 542

原创 【iOS】iOS面试知识点学习(UI相关,完结)

前言总的而言,就我这将近一年的工作经历来说,成长真的是远远不足。如果突然有天公司把我辞退,想要通过社招找到一份称心的工作,以我现在的水平来说可能真的是有点痴心妄想了。出于这种虚无的紧迫感吧,尝试学习/复习/巩固一下iOS开发的知识点,以其在未来不至于那么被动吧。全篇图文基本自网络,属于知识总结,如有错漏欢迎指出UIView与CALayer(一)UIView是iOS系统中...

2019-08-27 10:40:53 314

原创 【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 3375

原创 【iOS】iOS Block基本用法记录

做了大半年IOS,每次想写block的时候都发现不记得格式,总要翻一翻老代码然后copy一份,然而并不能记住,恶性循环影响工作效率。参考:https://www.jianshu.com/p/e82bc3acc2c9记录一下block的基本用法,目标是流利的写出一个个block。原型声明和定义NSString *(^myBlock)(int);原型声明分三部分,格式可以总结为:...

2019-08-12 17:34:05 1268

原创 【iOS/工作感悟】一次简单的旋转动画引发的思考(非技术向)

曾经我有这样一种的想法,只要善用百度谷歌,并且肯花时间去研究,基本就能解决大部分问题。但到了实际工作时就会发现,这样的想法太过美好了。1.工作的问题基本上不可能直接在网上找到解决方案,需要对问题进行分解。工作问题一般会被分解为业务层面和技术层面,前者基本不可能在百度中找到答案,需要通过内部的确认;后者也非全部依赖百度,还需要进行分解,剥除了内部实现那部分之后,剩下的才是能在网上找到答案的问...

2019-08-07 15:31:57 138

原创 【iOS】记一次失败的hook尝试(游戏去弹窗失败)

目标版本测试之余分到了一个处理游戏包弹窗的问题。主要目标是把游戏启动时显示的第三方弹窗去掉。第三方弹窗的表现是:有标题、描述、输入框、确定按钮、取消按钮。点击取消游戏退出点击确定,验证输入框内容(怀疑是发送网络请求验证但没有找到确切证据,因为没有授权码进入正确逻辑)一定时间后游戏会自动退出尝试1——直接去掉第三方弹窗钩住弹窗的展示函数第一次尝试钩住 UIAlertV...

2019-07-18 10:31:43 1434

原创 【iOS】UICollectionView遇到的坑及解决方法(二例记录)

前言很久没有写文章了,一个是因为五月份一直在学校忙(WAN)毕(YOU)业(XI)的事情,另一个则是因为没有什么好东西值得记录。六月份回归工作马上做了一个很小的版本,三个组件的排列问题(涉及到autoLayout)算是给我出了个小难题,不过解决之后感觉并不是很有记录的价值,因此文章又少了一篇。这次的文章算是新鲜出炉的问题记录,来源于我一个正在进行的,一个人负责所有客户端开发的版本(20...

2019-06-20 19:50:44 5019

原创 【工作感悟】路自在前,冷暖自知

不经意间实习工作也有六个月,也就是半年了。从九月底懵懵懂懂的入职,由一句“你是没有学过OC吗”开始到中间穿插着版本开发和处理小问题的过程再到最近组里来了一个新的实习生,终于不得不面对有很大差距的现实的现状也不能说这六个月一无所获,但自己成长显然没有预期中那么大主要一点还是在技术层面的认识局限在版本开发中其实都是用的别人写好的东西,真正的技术难点已经被很好的封装,更多时候也就...

2019-03-26 16:01:00 115

原创 【iOS】自己画描边圆角,自己出坑爹问题(2019.7.8更新)

这是一个产品由来以久的问题,结果伴随着新版本的测试上线,设计表示实在忍无可忍(明显欺负我新来的嘛),只好花时间去看看这个问题怎么回事。圆角描边问题首先说明设计的规范:1.圆角长宽都为矩形高度一半2.圆角描边宽度borderWidth为1单位3.被点击时表框也需要变化由于第三点,因此不能使用系统默认样式,这是业务前提。我们可以先看看系统默认样式下的表现,描边宽度为1单位(...

2019-03-26 14:45:33 1453

原创 【iOS】解决UITextField输入限制受中文自动联想影响的问题

想解决问题直接跳转 三、解决UITextField输入限制受中文自动联想影响的问题一、前言关于这次需求:UITextField输入限制看起来是个很简单的需求,然而测试还是能测出很多问题,越来越觉得开发时候的UI简直是一个无底洞,问题并不是很难很复杂,但是他总是会在你不可预期的地方突然冒出来。一点题外话:做了差不多五个月的iOS开发,很惭愧自己还没有接触到深层次一点的内容,接下来要花大概...

2019-03-15 15:02:58 2966

原创 【iOS】记录一次设计需求开发(从UIScrollView嵌套变到单UITableView实现—纯记录,没有技术要点)

需求见图就是这个简单需求,做了我两天当然也有沟通不当的原因,原来做的是外面的背景图那部分也要响应,因此采用了外部UIScrollView+内部UITableView(非原生UITableView)的设计后面改成了只有内部列表需要响应,因此采用了外部View响应内部UITableView滑动事件改变显示的设计因为是记录文档,因此主要记录一下遇到的坑,实现思路就只稍微提一下。实...

2019-03-14 19:23:23 193

原创 【iOS】当Xcode10不支持SVN时,我只好学习使用git-svn(不涉及分支管理)2019.8.29更新

前言其实这个学习很早之前就开始了,主要的动机就是Xcode10不支持SVN,导致所有的项目代码在Xcode10上再也无法对照历史版本了(隔壁大佬提出严重抗议)。解决方法也是大佬找到的,说试试git-svn这个玩意儿。然而组里一直用的SVN,大佬们也没有那么多时间去试错,因此这个任务就落到当时的“闲人”我身上了。基本原理(?)git-svn顾名思义,就是使用git来连接SVN仓库。...

2019-03-05 15:44:21 2358

原创 【iOS】一个取巧的弹出式动画实现以及后续的iOS动画学习(第一部分:基于CALayer的Core Animation框架)

二月中上班,开始开年需求,现在到三月初算是基本完成,也在测试之前趁着有那么一点空闲时间和精力记录下一些开发中遇到的问题。这次记录下的是一个简单的动画效果实现。当时时间比较紧,用了一个取巧的动画实现(实际原因是没看懂CA动画怎么用),因此在这里记录下来,同时研究一下CA动画。需求分析(不知道怎么设置成循环,似乎只能刷新看一次)这个动画效果分为两部分,要求其实有三:1.图案从小...

2019-03-04 16:12:48 676

原创 【工作感悟】在一家普通互联网公司实习四个月的总结和感想

快要过年了,今天也算是年前最后一班了(年会前最后一天)。在广州天河这家互联网公司实习了三个半月快四个月,也时候有些总结了。我从哪里来上年(18年)五月份的时候入职了虎牙,作为安卓的实习生。我是以C++客户端进去面试的,最后分配到了安卓。大部分是由于自己的原因(不思进取,学习效率低下,学习内容狭隘),在九月份被“炒鱿鱼”了。之后陷入了挺大的恐慌,投递了很多的简历,但是方向变成了安卓方...

2019-01-28 19:13:46 3958 4

原创 【iOS】基于frida的砸壳工具优化方案(和砸壳本身关系不大)

小组里用的砸壳工具主要有两种:一种是Clutch,使用比较简单的,但是总是会砸失败(原因大佬说过我忘了)一种是frida,使用稍微复杂一点,不过效果好,当然也有问题,下面主要讨论frida。使用frida砸壳需要这些东西:(大部分步骤是网上的资料,一些是自己实际使用的时候调整的)iPhone端:1. 添加源:https://build.frida.re2. 按机子架构安装对...

2019-01-22 15:48:41 1226

原创 【iOS】浮点+悬浮窗的基础架构实现(已鸽,勿念)

最近分配到了一个迎合热度的小任务:为某个应用做一个抢红包插件。抢红包的Java代码在这里:https://github.com/veryyoung/DingDingLuckyMoney/blob/master/app/src/main/java/me/veryyoung/dingding/luckymoney/Main.java我用的OC版本是组里大佬该写的,思路是相同的。功能很简...

2019-01-15 18:18:54 797

原创 【iOS】iPhoneX旋屏导致autoresizingMask计算错误的问题及解决方案

这个问题看图会比较直观竖屏情况下:屏幕旋转后:重新设置为竖屏:再次旋转为横屏:下面分析一下View的设置红色背景productView是一个普通UIViewself.clipsToBounds = YES;self.backgroundColor = [UIColor redColor];self.autoresizingMask = UIView...

2019-01-11 11:04:18 257

原创 【iOS】针对app调用KeyChain的钩子(hook)

iOS提供的KeyChain具体作用不再阐述,网上已经有很多资料。这里主要提供一个针对app调用KeyChain的钩子设计思路和实现。代码实现真正难点并不在KeyChain的钩子本身,而在于其中一些基础知识(比如双重指针),记录下来提醒自己设计思路:钩住常用的四个KeyChain函数OSStatus SecItemAdd(CFDictionaryRef attributes,...

2018-12-26 11:17:01 1015

原创 【iOS】tableHeaderView的一个巨坑

网上普遍的资料反映的都是UITableView的header view动态变化需要重新给tableHeaderView赋值而不能只给其frame属性赋值但如果出现需要多次给tableHeaderView赋值的情况时(比如每次进入界面都要刷新用户信息更新header view的数据),就会出现每赋一次值header view和cell的间距就会越大的BUG。BUG表现:如果给tableH...

2018-12-24 17:41:35 1496

原创 【iOS】bounds与native bounds的故事(放大模式的纠结)1.31更新一些表述

因为实习原因接触iOS开发,做了一周多点的时间,遇到了一个棘手的需求,也因此了解到了关于iPhone系列适配以及放大模式的有趣规律。“特殊”的需求 当iPhone XS MAX/XR用户使用只适配了iPhone X/iPhone XS,并且隐藏了状态栏的应用,同时没有启动放大模式且为竖屏时,进行UI处理。 注:应用的适配是我们无法决定的,处理的是一个独立于应用的悬浮窗的UI。只考...

2018-10-19 17:51:38 1664

原创 【Android】px,in,pt,dp和sp

【Android】px,in,pt,dp和spdensity(密度)值表示每英寸有多少个显示点,常见240,160,120。 pt(磅):1/72英寸 in(英寸):1英寸 -》1in = 72ptdp(与密度无关的像素):一种基于屏幕密度的抽象单位。 dip:与dp相同,多用于android/ophone示例中。 sp(与刻度无关的像素):与dp类似,但是可以根据用户的字...

2018-09-06 15:07:25 326

空空如也

空空如也

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

TA关注的人

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