自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (105)
  • 问答 (1)
  • 收藏
  • 关注

原创 iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)

设置 视图的X Y ,以及视图之间的间距之后 1、最后关键的一步就是 设置视图的高度等于视图的宽度(宽度可以由自动布局自动确定) 选择Ratio 即可,自己可适当修改比例2、 设置控件之间的宽度比例选中存在宽度比的控件,并设置等宽,之后进行比例修改。 iOS 父子控件的高度成一定比例关系的实现例子: 这种情况通常运用于 父亲控件的高度依赖于子控件的高度

2017-08-31 10:44:25 12936

原创 iOS小技能:调整导航条BarButtonItem与屏幕边界/titleView 的间距及常见问题的解决方案(BarButtonItem 隐藏失效)

与屏幕边界 或者与titleView 的间距 只要分别调整rightBarButtonItems 数组元素的顺序。主要利用UIBarButtonItem 的UIBarButtonSystemItemFixedSpace 系统控件 UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]

2017-08-29 11:26:26 14790

原创 iOS小技能: UISearchBar 搜索框使用教程(1、设置_UISearchBarSearchFieldBackgroundView 控件的圆角2、去掉UISearchBar搜索框的放大镜)

+ (UISearchBar*)homesearchBar { UISearchBar *searchBar = [[UISearchBar alloc]init]; [searchBar setImage:[UIImage imageNamed:@"search"] forSearchBarIcon:UISearchBarIconSearch state:UICont

2017-08-29 11:22:16 12796

原创 iOS小技能:为UITableView添加UISwipeGestureRecognizer手势(尤其适用于多个cell 之间的切换)

尤其适用于多个cell 之间的切换addGestureRecognize //Right Swipe UISwipeGestureRecognizer *gestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandlerRight:)]; [g

2017-08-28 19:43:50 12729

原创 iOS【StreamingKit --- Play an MP3 over HTTP】

pod 'StreamingKit', :podspec => 'Dylib/StreamingKit.podspec.json'STKAudioPlayer* audioPlayer = [[STKAudioPlayer alloc] init];[audioPlayer play:@"http://www.abstractpath.com/files/audiosamples/sample.m

2017-08-24 16:35:56 11290

原创 iOS存储自定义类型到NSUserDefaults/数据库

自定义的类型需要转成NSData再存入 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model]; [[NSUserDefaults standardUserDefaults] setObject:data forKey:ModelKey]; NSData *data = [[NSUserD

2017-08-18 21:26:07 11008

原创 iOS安全:替换Xcode编译器,在编译时将用带混淆功能的clang进行编译工程

Implementing a Container View Controller

2017-08-18 09:30:52 11359 11

原创 iOS 封装 ImageScrollView

1、头文件/** 图片路径数组 **/@property (strong, nonatomic) NSArray *pics;/** pageControl 颜色 **/@property (strong, nonatomic) UIColor *pageColor;@property (strong, nonatomic) UIColor *pageSelColor;@property (

2017-08-17 11:50:47 10907

原创 how to properly setup security connection 1、iOS安全【 SSL证书验证, 让Charles再也无法抓你的请求数据】2、iOS逆向:【绕过证书校验】

效果: 经过app的SSL证书验证之后,就是这样子,别人无法获取报文,除非服务器的证书信任Charles的证书前言1、目前采用的是AFSSLPinningModePublicKey 方式验证。 2、 若想采用AFSSLPinningModeCertificate方式验证,请提供正确的cer 证书。 使用AFSSLPinningModeCertificate 方式验证的时候,获取 DER 表示

2017-08-12 14:15:24 12323 1

原创 iOS逆向小知识:使用Theos开发插件

以创建一个简单的demo为例子1、输入新建工程的命令devzkndeMacBook-Pro:~ devzkn$ $THEOS/bin/nic.plNIC 2.0 - New Instance Creator------------------------------ [1.] iphone/activator_event [2.] iphone/application_modern

2017-08-10 17:21:14 14381

原创 iOS小技能: tweak 集成CocoaAsyncSocket(建连、断开、重连、心跳、通用请求)【应用场景:微信机器人】

前言iOS越狱开发中,各种破解补丁的统称为Tweak,通常意义上我们说的越狱开发,都是指开发一个Tweak. 基本上,tweak都依赖于一个名叫cydia Substrate (以前名字也叫mobile Substrate)的动态库,Mobile Substrate是Cydia的作者Jay Freeman (@saurik)的作品,也叫Cydia Substrate,它的主要功能是hook某个App

2017-08-10 15:49:39 12580

原创 iOS逆向小技能:Theos的安装

一、简介参考博客Theos 是越狱开发工具包。logos语法简单。(整合在Xcode的iOSopendev )由于逆向工程很多东西无法自动化,因此推荐Theos二、、安装Thoes1、安装Xcode,以及command line tools 2、下载ThoesdevzkndeMacBook-Pro:opt devzkn$ export THEOS=/opt/theos

2017-08-10 15:39:07 11765

原创 iOS小技能:应用逆向工程指南(概念、工具、逆向理论)

4前言iOS越狱开发的基础就是iOS逆向工程概念、工具、理论、实践 四部分进行讲解。第一部分概念篇:1、iOS逆向工程简介iOS逆向工程,指通过分析系统的功能、结构、行为,将软件的技术实现或者设计细节推导出来的过程。 2、越狱iOS平台简介3、越狱开发-Tweak简介第二部分工具篇3、OS X 工具集 class-dump Theos的安装 \reveal\IDA1)Theos 的用法4、i

2017-08-10 10:46:28 11974

原创 iOS小技能:【发红包】使用tweak和lua脚本结合进行实现

ios-sec-wiki iOS安全的书籍讲解: 1、越狱程序的开发过程:我们开发的大部分越狱程序,都是编译成动态链接库(例如:介绍的越狱程序(Tweak)开发,就是动态链接库。),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。2、iOS程序类型 Applicat

2017-08-08 16:07:48 11274

原创 OLLVM 源码分析笔记

# 前言基于llvm的代码混淆技术主要基于中间层代码的pass。-----![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909162854604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEwMTg5Nzk=,size_16,color_FFFFFF,t_70#pic_cent

2017-08-03 09:00:03 11170

原创 AFNetworking小技能:正确使用connection的RunloopMode

AFNetworking最核心的类 AFSecurityPolicy:验证HTTPS请求的证书 https://blog.csdn.net/z929118967/article/details/77115940正确使用connection的RunloopMode主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefaultMode 和 UITrackingRunLoopMode。这两个 Mode 都已经被标记为”Common”属性;这样任务会被 RunLoop 自动更新到所有具有”

2017-08-31 21:06:12 10944

原创 Xcode 调试技巧:忽略警告(屏蔽clang warning)【1、全局/局部屏蔽的方法 2、忽略 CocoaPods 第三方库警告 3、clang/Lexer/Parser 警告清单】

文章目录前言I、 屏蔽clang warning1.1 常用的编译警告的正式名称和说明II 、 clang warning 警告清单(建议直接command + F 速查 )2.1 clang warning2.2 Lexer Warnings2.3 Parser Warnings前言再次强调编码时应关注X-code编译器中的警告与提示本文并不是让你养成忽略clang的一些警告的习惯,编码时应关注X-code编译器中的警告与提示通过X-code编译器生成的警告与提示可帮助开发者减少代码的复杂性

2017-08-29 15:41:01 13334

原创 iOS安全:静态混淆【Static obfuscation】1、使用宏进行替换字符串2、解析mach-o中对应的section进行类名和方法名的替换

1.对抗hopper和ida的分析可以修改macho文件的某些偏移量, 让hopper和ida无法分析造成闪退2.对抗class-dump 和工具分析可以方法名类名混淆,混淆方案大致三种1)编译前用脚本批量做宏定义替换(最原始的方案:字符串替换)2)LLVM混淆逻辑混淆(花指令)3)对Mach-O__objc_classname 和 __objc_methname

2017-08-25 09:18:08 14545

原创 iOS文本输入框开发手册:1、【文本输入框的内边距设置】2、iOS文本长度计算 3、限制字符串输入(汉字\英文、数字) 4、自定义文本输入框弹框视图 5、综合案例 6、问题分析 7、系统适配

KVC /** *paddingTop paddingBottom paddingRight */ [_contentLabel setValue:[NSNumber numberWithInt:QBWcontentLabelpaddingLeft] forKey:@"paddingLeft"];

2017-08-24 09:33:51 13589

原创 iOS安全小技能:AntiJailbreak 越狱环境检测、 LLDB脱壳工具(脱壳越狱检测的app)

[self.superview.window addSubview:self.listTableView]; /// 避免被其他子视图遮盖住 [self.superview.window bringSubviewToFront:self.listTableView]; CGRect frame = CGRectMake(CGRectGetMinX(self.frame), C

2017-08-23 17:55:45 11765 1

原创 git常用命令:分支合并、撤销、提交并Push到远程仓库脚本、初始化本地项目并push到远程仓库的脚本

git-flowhttps://github.com/nvie/gitflow

2017-08-21 19:04:52 11009

原创 js小技能:批量删除新浪微博 1、利用Chrome的console删除所有微博(支持自动加载更多,支持删除快转)2、原理:setInterval() :周期调用执行函数/表达式

前言更多的IPC细节请看这里App之间的五种通信方式,它分别有URL Scheme,Keychain,UIPastedboard,UIDocumentInteractionController以及利用socket进行本地通信ios 有类似安卓的aidl?Is there equivalent of AIDL on other platforms (iOS, Blackberry...

2017-08-21 14:11:09 12310

原创 iOS逆向小知识: 将功能独立的tweak 合并到同一个deb 包(在%ctor 中根据 processName 进行%init group)

文章目录引言I、功能独立的tweak合并到同一个deb 包1.1 合并到同一个deb 包1.2 在%ctor 中根据 processName 进行%init groupII、基础知识储备:logos 语法2.1 %ctor2.2 %group2.3 %init2.4 %property2.5 %subclasssee also引言昨天讲解了如何搭建私有Cydia源来批量部署插件,今天就来聊一聊如何讲将功能独立的tweak 合并到同一个deb 包。I、功能独立的tweak合并到同一个deb 包1.

2017-08-21 11:00:02 12050

原创 【Local Host Enumeration】Basic local host/network profiling、Basic Linux profiling

【Local Host Enumeration】Basic local host/network profiling、Basic Linux profiling

2017-08-21 09:17:25 10759

原创 iOS进阶:【设置tableView回到顶部、tableView 的常规效果:传统和内边距的设定】

cell底部也会被TabBar挡住 self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 64, 0);设置穿透效果 //1.设置当有导航栏自动添加64的高度的属性为NO self.automaticallyAdjustsScrollViewInsets = NO; [self hy_viewWillAppear:YES]

2017-08-15 19:48:29 12672

原创 iOS UITableView 的一些基础操作: 1、隐藏多余cell 2、更新约束,并同时展示动画

/** // 隐藏多余cell */-(void)setExtraCellLineHidden: (UITableView *)tableView{ UIView *view = [UIView new]; view.backgroundColor = [UIColor clearColor]; [tableView setTableFooterView:view];}

2017-08-14 19:57:48 11395

原创 iOS网络请求指南之【 Post 以QueryString/xml/json格式提交数据】

前言提交后台的数据格式: Post 方式提交key=value&key=value&key=value正文1、拼接字符串- (NSMutableString*) stringWithkey:(NSString *)key value:(NSString*)value{ [self appendString:[NSString stringWithFormat:@"%@=%@",key,v

2017-08-12 20:08:37 13494

原创 iOS逆向小知识:SSLHandshake: Received fatal alert: certificate_unknown的解决方案(Charles分析报文常遇到的问题)

当https 链接的证书得不到Charles证书的信任之后,就会包这个。解决:   可以使用以下openssl命令来获取到服务器的公开二进制证书(以google为例):"openssl s_client -connect www.google.com:443 </dev/null 2>/dev/null | openssl x509 -outform DER > https.cer"让手机去信任c

2017-08-12 17:55:45 22270

原创 iOS安全防护:【完整性校验】1、文件完整性(检查文件load command 的修改)2、是否重签名3、bundleIdentifier 等方面入手验证是否程序被修改

从文件完整性(检查文件load command 的修改)、是否重签名、bid 等方面入手验证是否程序被修改

2017-08-12 11:15:14 12356

原创 iOS小技能:去掉UISearchBar搜索框的放大镜

UITextField *searchTextField = [searchBar valueForKey:@"_searchField"]; searchTextField.leftView = nil;

2017-08-11 17:22:29 12981

原创 iOS安全:【HookDetection】 1、反注入:获取加载的模块名,判断是否在白名单中; 2 hook检测:method swizzle、符号表替换、inline hook3、完整性校验

brewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Please delete these paths and run `brew update`.==> Installation successful!==> Homebrew has enabled anonym

2017-08-10 16:31:10 11836 1

原创 iOS越狱过程:越狱工具做了什么事情?( iOS系统结构、常见的二进制文件类型)

前言iOS系统结构一、iOS系统结构访问iOS全系统文件是逆向工程的首要前提。 iOS 由OS X演化而来,而OS X则是基于unix操作系统的。 1)通过FHS标准了解类unix的文件目录结构,OS X则是在FHS基础上形成自己的hier(7)框架 FHS: /boot 存放能使系统成功启动的所有文件 – iOS在此目录中为空 /dev 存放设备文件:块设备(硬盘)、字符设

2017-08-10 14:29:37 10845

原创 iOS小技能:逆向的一般思路及入门工具

前言重点:入门时的用的工具、一般思路,技术是不断发展的。1、要求熟悉iOS设备的硬件构成、iOS系统的运行原理、丰富的开发经验。2、作用如果把app必做城堡,那逆向工程就是站在更高的纬度进行巧取而不强夺,通过监视甚至进行hook改变app的运行逻辑,从而达到目的。 总之: 1)分析目标程序,获取信息–安全相关,用于评定app的安全级别、获取查杀病毒的方法、构建手机防火墙(逆向系统电话、短信功能).....................

2017-08-10 11:40:32 11175

原创 iOS小技能:程序类型初识(Application、Dynamic Library、后台Daemon)

iOS程序类型分为3类:Application, Dynamic Library,后台Daemon。在越狱的设备上才会遇到需要开发后面两种类型程序的情况。Application平时我们开发提交到App Store的应用即是Application,设备没有越狱的情况下,应用只能访问沙盒内存文件和数据。Dynamic LibraryDynamic Library(动态链接库),在其他平台很常见,比如Wi

2017-08-08 16:13:09 10913 2

原创 Working with non-default SSH key pair paths

gitlab/github 多账户下设置 ssh keys1、在用户目录下/Users/devzkn/.ssh执行:devzkndeMacBook-Pro:.ssh devzkn$ ssh-keygen -t rsa -C "你注册的邮件"生成秘钥,并设置文件名称以及密码。结果:devzkndeMacBook-Pro:.ssh devzkn$ lsgitlab gitlab.pub

2017-08-08 14:38:32 10868

原创 36day 新浪微博(CELL时间 来源)

HWStatuePhotosView 1、#pragma mark - 根据图片个数计算 控件的size#pragma mark - 根据图片个数计算size/** 计算列数、行数,来确定相册的大小*/- (CGSize)sizeWithPicUrlsCount:(long)count{ long maxCols = HWStatuesPhotoMaxClos(count);

2017-08-08 11:13:19 10298

原创 iOS混淆带有bitcode sectname 的静态库:Confusing static libraries with Bitcode Sectname 不需要源代码就可以进行混淆

iOS安全:【混淆带有bitcode sectname 的静态库】Confusing static libraries with Bitcode Sectname 不需要源代码就可以进行混淆

2017-08-04 11:18:51 10857 2

原创 35day 新浪微博(CELL转发)

cell 与导航栏的间距设置/** 方法一*//** 目的 : 让第一个cell与导航栏有固定的间距*/- (void)setFrame:(CGRect)frame{ frame.origin.y += HWStatusCellBorderW; [super setFrame:frame];}/** 方法二*/- (void)viewDidLoad { [super view

2017-08-02 15:52:40 10628

原创 34day 新浪微博(首页)

HWStatusesTableViewCellFrame计算原创微博的frame自定义cell的步骤定义cell的步骤(每个cell的 度不 样,每个cell 显 的 内容也不 样) 1. 新建 个继承 UITableViewCell的 类 2. 在initWithStyle: 法中进 控件的初始化 1> 将有可能显 的所有 控件都添加到contentView中 2> 顺便设置 控件的 些属性

2017-08-02 15:32:16 10775

原创 iOS小技能:集成下拉刷新控件 & 实现无感知上拉加载更多

应用场景:由于消息列表,数据量比较大,为了提升用户体验,需采用分页加载显示数据

2017-08-02 11:13:03 11521

iOS AgreementView 简化版的隐私弹框(用户协议及隐私政策弹框)【包含超链接属性、demo支持中英文切换】

效果:https://img-blog.csdnimg.cn/9bc387378498453fb4a429dea355020d.png 1. 文章:https://blog.csdn.net/z929118967/article/details/126424314# 本文针对不熟悉iOS代码的读者,如果是有经验的开发请看这篇文章:https://kunnan.blog.csdn.net/article/details/103902362 2. 预备知识: - 采用富文本属性attributedText进行内容设置:https://blog.csdn.net/z929118967/article/details/107718162 - 本地化相关文章:https://blog.csdn.net/z929118967/article/details/125229417 - 适配相关文章:iOS15 UI适配之导航条主题: 背景颜色、标题颜色 :https://kunnan.blog.csdn.net/article/details/121090938 3. 使用MVVM架构

2023-07-12

iOS曲线图(例子:商品销售曲线图)

用法:https://blog.csdn.net/z929118967/article/details/107512970?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22107512970%22%2C%22source%22%3A%22u011018979%22%7D&ctrtid=nuckj

2022-08-09

iOS富文本编辑器(工具栏在富文本编辑器的顶部)

1. 富文本编辑器的应用场景: 编辑商品详情 2. 设计思路: 编辑器基于WKWebview实现,Editor使用WKWebview加载一个本地editor.html文件,Editor使用evaluateJavaScript执行JS往本地html添加标签代码,编辑器最终输出富文本字符串(html代码)传输给服务器。 3.使用IQKeyboardManager 键盘管理工具,布局采用Masonry,MVVM数据绑定。 4.界面设计:推荐把工具栏添加到键盘,或者放在富文本编辑器的顶部 5.文章:https://blog.csdn.net/z929118967/article/details/125672431?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125672431%22%2C%22source%22%3A%22u011018979%22%7D&ctrtid=XJS6u

2022-07-08

iOS富文本编辑器(基于WKWebview实现,Editor使用WKWebview加载一个本地editor.html文件)

1. 富文本编辑器的应用场景: 编辑商品详情 2. 设计思路: 编辑器基于WKWebview实现,Editor使用WKWebview加载一个本地editor.html文件,Editor使用evaluateJavaScript执行JS往本地html添加标签代码,编辑器最终输出富文本字符串(html代码)传输给服务器。 3.使用IQKeyboardManager 键盘管理工具,布局采用Masonry,MVVM数据绑定。 4. 文章地址:https://blog.csdn.net/z929118967/article/details/125298245?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125298245%22%2C%22source%22%3A%22u011018979%22%7D&ctrtid=QtGja

2022-06-17

iOS小技能:NSLog调试技巧

文章地址:https://blog.csdn.net/z929118967/article/details/125207599 1. DEBUG 宏区分调试模式和发布模式进行特殊处理 2. Objective-C's boxing capability (`装箱`快速构造数字对象) 3. benchmarking的时间测量

2022-06-09

新住院患者体验与满意度调查问卷【问卷星版本】

问卷调查小技能(对住院患者体验与满意度的调查) 1. 创建并设计问卷调查 2. 发送问卷 3. 分析和下载问卷数据 文章: https://blog.csdn.net/z929118967/article/details/125174136 阅读对象:护士,护理部人员 应用场景:医院科室对住院患者体验与满意度的调查

2022-06-08

iOS15 消息推送语音播报【修订版】(处于后台/被杀死的状态仍可进行语音播报)

原理: 本地离线合成音频+Service Extension 1. 解决离线合成比较成本昂贵问题:采用本地拼接音频实现。 2. 解决iOS15之后本地通知通知栏弹出多次的问题。 3. 解决金额转换为对应的文字的细节问题(numFormatter的兼容处理) ———————————————— 版权声明:本文为CSDN博主「iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/z929118967/article/details/123325914

2022-03-10

iOS15 App处于后台/被杀死的状态仍可进行语音播报( 本地离线合成音频+Service Extension)

原理:iOS15适配: App处于后台/被杀死的状态仍可进行语音播报的免费方案( 本地离线合成音频+Service Extension) 文章:https://kunnan.blog.csdn.net/article/details/123325914

2022-03-08

iOS使用CALayer 实现时钟demo

原理:使用CALayer 实现时钟 文章:https://kunnan.blog.csdn.net/article/details/74135552

2022-03-02

iOS MVC思想的实现demo

在app 中要实现两个样式一样,展示的数据不一样的下拉菜单。此时为了代码的抽取,利用MVC思想进行实现。 文章:https://kunnan.blog.csdn.net/article/details/74066993

2022-03-01

iOS界面切换抽屉效果的实现

适用于iOS初学者 文章地址:https://kunnan.blog.csdn.net/article/details/74107917

2022-02-07

制作package脚本用于批量部署插件(搭建私有Cydia源)

适合人群:iOS程序员 文章地址:https://kunnan.blog.csdn.net/article/details/78344104 1. 利用 bzip2 生成 Cydia 可以识别的文件格式,开启HTTPServer 提供文件下载的web服务:~/cydia 下执行python -m SimpleHTTPServer 8088 2. 从cydia 添加对应的源(http://192.168.2.189:8088/ )

2021-10-04

WordPress插件:给REST API 新增文章特色图片(缩略图)字段,用于显示文章头图

功能:新增文章特色图片(缩略图)字段 文章:https://kunnan.blog.csdn.net/article/details/119925759

2021-09-06

iOS防止在WKWebView中打开Universal Link的方法

防止在WKWebView中打开Universal Link的方法 文章地址:https://kunnan.blog.csdn.net/article/details/119813220

2021-08-19

iOS集成新浪微博API教程

本文demo的核心功能:微博授权、自定义表情键盘、图文混排 分页刷新控件集成文章:https://kunnan.blog.csdn.net/article/details/76572893 iOS集成新浪微博API教程:https://blog.csdn.net/z929118967/article/details/75201062

2021-08-03

iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图)

文章:https://kunnan.blog.csdn.net/article/details/106406160 视频:https://live.csdn.net/v/173757 简单demo下载地址:https://download.csdn.net/download/u011018979/20537947 疑问解答,请关注公众号:iOS逆向 本demo 设置两个测试开关 : 测试开关1:将水平方向弹出菜单视图集成到cell 测试开关2:将水平方向弹出菜单视图集成到VC的View

2021-07-28

iOS 水平方向弹出菜单视图

文章:https://kunnan.blog.csdn.net/article/details/106406160 视频:https://live.csdn.net/v/173757 1.支持展开折叠的弹出菜单的实现思路: 1.1将弹出视图添加到keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y 慢慢变大) 1.3 内部视图采用collectionView进行布局 1.4 view的frame 是根据当前点击的菜单按钮所在的商品cell进行计算和坐标转换的。 2.水平方向弹出菜单视图的应用场景: 2.1、门店商品的支持的功能: 向右横向展开视图(操作:下/上架、打印、编辑、同步网络)支持再次折叠隐藏视图 2.2、网店商品目前只包含下架功能:展开折叠视图:(包含上/下架商品功能) 3. 疑问解答,请关注公众号:iOS逆向

2021-07-27

iOS添加商品到购物车的动画

应用场景:购物车模块,将商品添加商品到购物车 文章地址:https://blog.csdn.net/z929118967/article/details/103660899 视频地址:https://live.csdn.net/v/167358

2021-07-06

iOS 自定义tab滑块: segment功能+label混合显示;( Slider 双区间)【应用场景:商户交易汇总表使用tab滑块进行切换/筛选不同级别的代

1、文章地址:https://blog.csdn.net/z929118967/article/details/105076636 2、视频地址:https://live.csdn.net/v/156406 3、需求商户交易汇总表使用tab滑块进行切换/筛选不同级别的代理商数据 4、应用场景:商户交易汇总表使用tab滑块进行切换/筛选不同级别的代理商数据

2021-06-23

iOS商品类目选择视图(demo源码)

文章地址:https://kunnan.blog.csdn.net/article/details/106553175 商品经营类目选择视图的应用场景: 1、发布商品时选择商品类目 2、商户进件选择经营类目 3、购物类app下单界面的商品类目筛选 视频地址:https://live.csdn.net/v/167208

2021-06-22

iOS OCR:自定义相机进行银行卡/身份证/驾驶证信息识别方案【demo源码】

1、原理:自定义相机采集银行卡图片,调用SDK/API进行OCTR识别 2、文章地址:https://kunnan.blog.csdn.net/article/details/117445677 3、应用场景:实名认证、银行卡绑定、信用卡网申

2021-06-03

iOS分配终端界面功能实现:1、拆分SN 2、计算SN个数( 号段用‘-’连接;每批号段请用‘,’|‘隔开或分行)

1、核心功能点:切割多条 SN、计算SN个数 2、原理:数组去重;字符串拆分: 规则SN号段用‘-’连接;每批号段请用‘,’'|'隔开或分行 取出字符串中的数字,用于计算SN个数 3、原文:https://kunnan.blog.csdn.net/article/details/116303608

2021-06-02

iOS银行卡识别(OCR) 源码

1、功能:扫描银行卡识别信息( 银行名称、 银行卡号)并截取银行卡图像 2、应用场景:快速填充银行卡号的场景,比如商户进件、实名认证 3、原理: 3.1、自定义相机并利用第三方库SDK `libexbankcardios.a` 、`libbexbankcard.a`进行识别(识别`次数无限,免费 `) 3.2、添加自定义的扫描界面(中间有一个镂空窗口和来回移动的扫描线) 4、原理文章:https://kunnan.blog.csdn.net/article/details/117421214

2021-05-31

iOS OCR 之身份证识别 (正反) 源码

1、功能:可自动快速识别身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取到身份证图像 2、应用场景:自动填充身份证号码:信用卡网申、商户进件、实名认证 3、原理: 3.1、自定义相机并利用第三方库SDK `libexidcardios` 进行识别 3.2、添加自定义的扫描界面(中间有一个镂空窗口和来回移动的扫描线) 4、原理文章:https://kunnan.blog.csdn.net/article/details/117414741 ps: 此资源不存在违法违规

2021-05-31

iOS文字识别Demo源码

>1、应用场景:证件扫描、文字识别 >2、原理:利用iOS13 VNDocumentCameraViewController的证件扫描和VNRecognizeTextRequest文字识别功能进行实现 3、原理文章:https://kunnan.blog.csdn.net/article/details/117414243

2021-05-31

iOS Document Scanner: 矩形边缘识别(边缘检测 ) CIDetectorTypeRectangle

应用场景:为了提升用户体验,在OCR识别场景都将利用到边缘检测 原理:采用原生CoreImage框架下CIDetector可进行边缘检测 原理文章:https://kunnan.blog.csdn.net/article/details/117367345

2021-05-31

iOS身份证相机: 加一个长方形的框框并裁剪身份证照片(无半透明遮罩层)

原理文章:https://kunnan.blog.csdn.net/article/details/112309871 原理: 1、控制屏幕旋转方向 2、封装富文本API 3、设置相机预览层和证件框框的frame一致 4、点击屏幕对焦

2021-05-28

iOS APP 内的国际化切换【案例:中英文切换】

文章:https://kunnan.blog.csdn.net/article/details/103733872 原理: 1、自定义解析本地化字符串的工具类LanguageManager 2、应用内切换语言生效的技术实现:采用销毁根控制器,重新进入一次

2021-05-26

iOS处理语言的强大工具CFStringTransform : 智能地处理用户的输入内容,经典应用场景【通讯录索引】

文章:https://blog.csdn.net/z929118967/article/details/109603377 原理:利用CFStringTransform 进行实现

2021-05-26

iOS14相册权限适配Demo

在iOS14相册 iOS 14 相册权限增加了 Limited Photo 模式 ,新增选择权限类型` PHAuthorizationStatusLimited` 文章:https://kunnan.blog.csdn.net/article/details/108120719

2021-05-10

iOS Configuration-Profile-Reference.pdf 【案例:iOS安全之防止手机截屏/录屏导致泄密的方案】

iOS 的 Configuration Profiles 提供了一个有趣的机制来解决一些限制。比如限制使用摄像头、使用截图和录屏功能 文章:https://kunnan.blog.csdn.net/article/details/78018781 案例:iOS安全之防止手机截屏/录屏导致泄密的方案: iOS11之后防止用户录屏方案、基于DRM防截屏/录屏 | 蓄力计划 allowScreenShot (Boolean) Optional. When false, users are unable to save a screenshot of the display.

2021-04-28

iOS安全之拦截http请求 ( 为小白用户定制的精简版本)

原理: 1、基于NSURLProtocol拦截请求: HTTP 请求开始时,URL 加载系统创建一个合适的 NSURLProtocol 对象处理对应的 URL 请求,因此我们只需写一个继承自 NSURLProtocol 的类,并通过 - registerClass: 方法注册我们的协议类,然后 URL 加载系统就会在请求发出时使用我们创建的协议对象对该请求进行处理。 2、采用分类的形式在load方法进行自动注册协议类 ———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/z929118967/article/details/116021139 从CSDN下载相关demo资源:https://download.csdn.net/download/u011018979/16768533

2021-04-22

iOS安全之【拦截请求,实现特定目的 】(修改HTTPHeaderField、不走全局proxy、设置代理IP和端口、对网络请求的数据进行报文级别的加密)

1、文章:https://kunnan.blog.csdn.net/article/details/115690756 2、应用场景: 2.1、 自定义请求头的HTTPHeaderField 2.2、针对NSURLSessionConfiguration设置代理IP和端口,让一些特殊的请求走自定义的隧道IP和端口 2.3、对网络请求的数据进行报文级别的加密:使用NSURLProtocol来自动监听HTTP请求并加密解密。 通过[NSURLProtocol registerClass: [NetworkInject class]];注入了自定义的NSURLProtocol类 3、原理:利用NSURLProtocol 拦截 HTTP 请求

2021-04-20

iOS使用 NSURLProtocol 拦截 HTTP 请求的简单例子

1、文章:https://kunnan.blog.csdn.net/article/details/115690756 2、原理:利用NSURLProtocol 拦截 HTTP 请求 3、应用场景:隧道APP请求我们自己接口的都不走隧道、修改请求的HTTPHeaderField,设置代理IP和端口、防抓包(使Thor,Charles,Burp等代理抓包方式全部失效)

2021-04-19

iOS安全之敏感逻辑的保护方案【把函数名隐藏在结构体里,以函数指针成员的形式存储】案例:js根据key从本地方法获取设备及签名信息 (完整demo)

1、文章:https://kunnan.blog.csdn.net/article/details/115857706 2、原理:为了提高代码的安全性,可以采用把把函数名隐藏在结构体里,以函数指针成员的形式存储。 编译后,只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛. 3、应用场景:签名函数

2021-04-19

iOS拦截 HTTP 请求demo源码:修改请求的HTTPHeaderField,设置代理IP和端口

1、原文链接:https://blog.csdn.net/z929118967/article/details/115690756 2、原理:利用NSURLProtocol 拦截 HTTP 请求,NSURLProtocol 只能拦截 UIURLConnection、NSURLSession 和 UIWebView 中的请求;对于 WKWebView 中发出的网络请求也无能为力`,如果真的要拦截来自 WKWebView 中的请求,还是需要实现 WKWebView 对应的 WKNavigationDelegate,并在代理方法中获取请求。 应用场景: 1、 自定义请求头的HTTPHeaderField 2、针对NSURLSessionConfiguration设置代理IP和端口,让一些特殊的请求走自定义的隧道IP和端口 ———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/z929118967/article/details/115690756

2021-04-14

iOS抽奖转盘:概率抽奖算法 &amp;amp; 转盘算法 &amp;amp; 转盘主视图的实现思路

文章:https://kunnan.blog.csdn.net/article/details/115653905 原理:利用CoreGraphics进行自定义转盘的绘制 视频:https://live.csdn.net/v/158749 处理点击抽奖事件 1. 控制中奖的方式 控制中奖的方式一: 发起网络请求获取当前选中奖品,demo通过随机的方式获取一次index; 控制中奖的方式二: 另外一种是根据奖品百分比进行控制 2. 拿到当前奖品的 找到其对于的位置 3. 让转盘转起来

2021-04-13

iOS 广告弹窗(支持显示动画及调整广告比例)采用Masonry进行界面布局

文章:https://blog.csdn.net/z929118967/article/details/107788359 应用场景: 打开app时弹出广告

2021-04-09

iOS 抽奖轮盘边框跑马灯动画Demo

1、原理: 用NSTimer无限替换bg_horse_race_lamp_1和bg_horse_race_lamp_2,达到跑马灯的效果 2、 应用场景: iOS 抽奖轮盘边框动画 3、文章:https://kunnan.blog.csdn.net/article/details/106238484

2021-04-08

iOS 定点缩放弹窗(利用锚点anchorPoint进行实现)

1、 iOS开发中常用的动画(定点缩放弹窗)的应用场景: 会员详情的右侧下拉操作菜单、浏览器的右侧下拉菜单 2、原文:https://kunnan.blog.csdn.net/article/details/84618986

2021-03-25

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

TA关注的人

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