自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS和uni-app、unity的融合方案

文章目录引言I 实现思路II 桥接2.1 IOS中调用Unity的方法2.2 uniapp 桥接iOS引言项目背景:iOS app内嵌H5和 AR功能,AR使用unity开发。技术点:unity导出的目标工程Unity-iPhone.xcodeproj 与原生进行融合I 实现思路思路1: uniapp 桥接IOS,ios 桥接unity,然后集成为ipa文件,Unity发布到iOS平台得到的是一个Xcode工程,uniapp 这边是个本地资源包。思路2: 原生APP集成Unity导出的SD

2022-04-02 15:31:22 9659 3

原创 iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。

文章目录引言I 消息播放队列的实现1.1 方式一: 使用递归管理消息推送1.2 方式二:NSOperationQueuesee also引言需求:收款到账语音提醒功能NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。https://kunnan.blog.csdn.net/article/details/103702284遇到的问题:短时间内收到多条播报通知时,后面的通知会顶掉前面的通知,导致前面的通知播报不完整。解决方式:增加一个消息队列,将所有需要播报的

2021-12-10 11:32:18 4902 4

原创 iOS小技能:【idfa的使用】(适配iOS15下无法弹出IDFA权限申请视图)

文章目录引言I、适配idfa1.1 开屏广告获取idfa用于推送个性化广告1.2 极光推送1.3 上架权限配置1.4 iOS15适配see also引言问题背景:ios审核被拒,iOS15下无法弹出IDFA权限申请视图We’re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework,

2021-11-19 10:24:17 4325

原创 公告抄袭我文章的掘金账号:[freesan44](https://juejin.cn/user/1063982986970984) 和公众号:小集

引言今天公布下抄袭我文章的掘金账号:freesan44 和公众号:小集原创不易,免费文章容易被抄袭,请掘金运营协助下处理下 @掘金-优狐 BR_掘金运营证据抄袭我文章:https://juejin.cn/post/7026900619831017486抄袭的公众号文章:https://mp.weixin.qq.com/s/cP5FPcY_rvqX4J1YWCxUUg原文1:https://juejin.cn/post/7026217314081046564原文2:https://juejin

2021-11-17 09:32:52 3492

原创 iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)

文章目录引言I 开发步骤1.1、创建NotificationServiceExtension1.2、 创建 AudioTool1.3、配置项目1.4、注册推送II iOS15适配本地通知功能see also引言在杀死APP的情况下唤醒APP,并执行代码的实现方式有Voip 推送和iOS 10新增的Service Extension。本文采用Service Extension并结合本地通知实现app处于后台/被杀死的状态仍可进行语言播报。资源下载源码:https://download.csdn.ne

2021-11-03 14:06:11 6058 3

原创 iOS15适配本地通知功能

文章目录引言I 消息推送1.1 本地推送适配1.2 测试1.3 升级JPush iOS SDKsee also引言一年一度的iOS 系统 API适配来了,9 月 14 日起 App Store Connect 已经开放 iOS 15 和 iPadOS 15 App 的提交,同时苹果宣布自 2022 年 4 月起,所有提交至 App Store 的 iOS 和 iPadOS app 都必须使用 Xcode 13 和 iOS 15 SDK 构建。Xcode 13 正式版包含 iOS 15,iPadOS

2021-11-02 20:33:47 5014

原创 iOS小技能:iOS15适配导航条主题: 背景颜色、标题颜色

文章目录引语适配NavigationBar主题设置1.1 问题:背景颜色失效1.2 导航栏主题适配方案see also引语一年一度的iOS 系统 API适配来了,9 月 14 日起 App Store Connect 已经开放 iOS 15 和 iPadOS 15 App 的提交,同时苹果宣布自 2022 年 4 月起,所有提交至 App Store 的 iOS 和 iPadOS app 都必须使用 Xcode 13 和 iOS 15 SDK 构建。Xcode 13 正式版包含 iOS 15,iP

2021-11-01 23:01:22 5906

原创 iOS精品资源汇总(持续更新)

文章目录引言I、iOS自定义视图相关热门资源1.1 《用户协议及隐私政策》弹框1.2 电子签名1.3 商品详情页1.4 上传图片视图的封装【支持删除和添加】1.5 查看风险商户的证明材料,图片支持滑动切换1.6 iOS 常用动画【 定点缩放弹窗】1.7 iOS抽奖转盘:概率抽奖算法 & 转盘算法 & 转盘主视图的实现思路1.8 自定义相机( 银行卡/身份证识别OCR、矩形边缘识别)1.9 收银app必备模块:iOS折扣计算器1.10 通讯录1.11 限定文本输入框输入特定的字符个数1.12

2021-10-09 22:14:21 5431 2

原创 iOS15适配汇总

文章目录引言I、 UI相关适配1.1 tabbar及navicationbar 背景颜色1.2 tableView section的顶部高度引言I、 UI相关适配1.1 tabbar及navicationbar 背景颜色问题:没有使用UINavigationBarAppearance和UITabBarAppearance相关方法设置背景,在iOS15回导致背景颜色失效。在iOS15设置颜色失效的相关方法self.navigationController.navigationBar.barTint

2021-09-28 11:18:08 2107

原创 以Serverless WordPress为后端开发博客版小程序

文章目录前言I 背景II 原理1.1 WordPress REST API1.2 WordPress开启HTTPS前言好的文章应该是可以被检索和可以被经常查找的。把主要精力放在文章的内容和质量上,并让文章可以被检索和被更多的地方所引用,这样才是对文章最大的保护。就算文章写过了好多年,它依然可以被检索到,而不是在社交圈上被大众转被大众转发、点赞、粉丝、订阅和打赏。所以在传统Blog下会比微信息的公众号更好,微信公众号的文章适合一些看过就过的新闻、短文类的文章,不太适合深度和知识类的需要被检索和搜索

2021-08-26 10:26:39 1434

原创 iOS小知识:银行卡号有效性校验

文章目录前言I 、银行卡号有效性校验II、身份证校验see also前言iOS 银行卡号有效性校验Luhn算法 (银行卡号码校验算法)身份证校验:【校验年龄、校验是否符合身份证号生成规则】应用场景:1.提款卡的卡号校验兼容对公账户录入场景: 结算账户类型是对公的时候,不验证卡号规则。当然你也可以借助第三方进行校验,比如https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&car

2021-08-05 11:17:36 1532

原创 iOS图文混排之【 NSAttachmentAttributeName 创建带有图片的富文本】(案例:展示信用卡标签)

文章目录引言I、富文本如何添加图片?see also引言需求:特性标签存在多个特性标签字段labelTitle "labelTitle" : "核卡105\r\n首刷后再补贴65",应用场景:存在图片和文字并排展示,例如特性标签I、富文本如何添加图片?see alsoiOS富文本使用指南【持续更新中】: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转 4、在适配系统API的应用————————————————版权

2021-06-09 10:38:14 3526 6

原创 iOS OCR:自定义相机进行银行卡/身份证/驾驶证信息识别方案案例

文章目录引言I、经典案例:识别身份证号码1.1 识别CVImageBufferRef中的身份证信息II、自定义相机进行银行卡信息2.1 获取银行卡号字符信息2.2 字符解析2.3 根据卡并规则获取银行名称2.4 识别银行卡信息(imageBuffer内容的识别2.5 处理帧的扫描引言iOS 自定义相机进行银行卡/身份证信息识别方案原理:自定义相机采集银行卡图片,调用SDK/API进行OCTR识别1、自定义相机识别银行卡/身份证信息的付费方案思路:将CVImageBufferRef转UIIm

2021-06-01 16:41:12 2109 2

原创 iOS精彩博文选登(持续更新) | 寻找C站“宝藏”

文章目录引言OCRsee also引言收藏本人喜欢的精彩博文 1、iOS《用户协议及隐私政策》弹框(包含超链接属性)【本文包含完整demo源码,demo支持中英文切换】2、UICollectionView的自适应案例详解:【商品详情页】(核心原理:按照图片的原宽高比例进行显示图片全部内容,并自动适应高度)文中包含完整demo源码3、iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台

2021-06-01 10:52:18 1659 1

原创 iOS小技能:敏感逻辑的保护方案

文章目录前言I、把函数名隐藏在结构体里,以函数指针成员的形式存储1.1 >* KNUtil.h1.2 >* KNUtil.m1.3 >* 外围调用II、 案例:js根据key从本地方法获取设备及签名信息 (完整demo)2.1 demo下载see also前言应用场景:签名函数为了提高代码的安全性,可以采用把把函数名隐藏在结构体里,以函数指针成员的形式存储。 编译后,只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛.I、把函数名隐藏在结构体里,以函数指针成员的

2021-04-19 09:47:38 1760 5

原创 iOS intercept the HTTP/HTTPS requests :拦截请求,实现特定目的(修改HTTPHeaderField、不走全局proxy、设置代理IP和端口)

文章目录引言I 、请求安全相关的设置1.1 隧道APP请求我们自己接口的都不走隧道1.2 SSL证书验证1.3 允许不进行SSL证书验证1.4 解决ios的https双向认证不能抓包问题: disable SSL certificate validation1.5 不在本地缓存网络请求报文II、利用NSURLProtocol 拦截 HTTP 请求(修改请求的HTTPHeaderField,设置代理IP和端口)1.1 使用 NSURLProtocol 拦截 HTTP 请求的简单例子1.2 动手实践:设置代理I

2021-04-14 10:14:06 3519 11

原创 iOS安全规范指南之参数签名:参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)【案例:条码支付综合前置平台申请退款】 丨蓄力计划

文章目录前言I、实现步骤1.1 签名原始串:`按照参数名ASCII码从小到大排序并拼接`[递归的方式进行实现]1.2 MD5加密(具体的算法和密钥计算出签名结果)1.3 key 的存储1.4 敏感逻辑的保护方案:把签名函数名隐藏在结构体里,以函数指针成员的形式存储II、 用法 & demo下载2.1 用法2.2 、签名demo 下载地址III、 常见问题3.1 `签名数组ASCII码排序的地方`相关问题的解答3.2 Bool 参数处理IV、 应用案例:iOS条码支付综合前置平台【被扫支付 / 申

2021-04-13 15:41:12 3198 4

原创 iOS抽奖转盘下篇:转盘主视图的实现(内含完整Demo)

文章目录引言I 、概率抽奖算法 & 转盘算法II 、转盘主视图的实现2.1 子视图2.2 处理点击抽奖事件2.3 抽奖结束,弹出奖品引言I 、概率抽奖算法 & 转盘算法iOS概率抽奖算法 & 转盘算法 &轮盘边框动画丨蓄力计划https://kunnan.blog.csdn.net/article/details/115630759II 、转盘主视图的实现2.1 子视图属性@interface KNTurntableView()/** 转盘视图

2021-04-13 09:50:55 3281 1

原创 iOS抽奖转盘上篇:概率抽奖算法 & 转盘算法 &轮盘边框动画丨(内含完整Demo)

文章目录引言I、根据奖品百分比进行控制中奖概率1.1 定义奖品模型1.2 根据奖品的中奖概率获取中奖奖品1.3 构造数据模型II、转盘算法2.1 旋转到指定下标奖品2.2 处理旋转结束事件引言在app侧控制中奖奖品,有两种方式方式一: 发起网络请求获取当前选中奖品(推荐),即由服务侧控制中奖数据,更安全方式二:根据奖品百分比进行控制中奖概率I、根据奖品百分比进行控制中奖概率根据中奖概率probability 确定随机中奖范围probabilityRange根据随机中奖范围proba

2021-04-12 17:51:35 4028 4

原创 iOS应用安全-专栏总目录(持续更新) 丨蓄力计划

文章目录引言1.1 代码混淆1.2 敏感逻辑的保护方案1.3 接口安全(网络加密传输)1.4 接口安全设计的Checklist引言欢迎大家来到#公众号:iOS逆向的《iOS应用安全》专栏本文列出学习大纲,同时也可作为大家学习《iOS应用安全》专栏的索引。文中的蓝字都是超级链接,点击进入即可本专栏的整体大纲模块1、网络加密传输及安全优化:1.1、报文签名 1.2、SSL证书验证, Charles再也无法抓你的请求数据;1.3、不走全局proxy的方案;1.4、允许不验证SSL证书

2021-04-09 11:38:25 2545 3

原创 iOS小技能: 对请求参数进行签名相关问题及对应解决方案

文章目录引言I、编译相关问题1.1 为什么我下载demo后,在xcode12中允许报错:library not found for -lAXIndicatorView;请问怎么解决?引言汇总本博客精品资源相关问题和解决方案(持续更新)I、编译相关问题1.1 为什么我下载demo后,在xcode12中允许报错:library not found for -lAXIndicatorView;请问怎么解决?原因:这是找不到 CocoaPods库 AXIndicatorView。是 AXWebViewC

2021-03-31 17:06:09 3320 6

原创 iOS网络请求指南: 请求参数的拼接(签名)、返回参数解析(JSON/XML解析)、案例(条码支付综合前置平台申请退款)

文章目录引言I、post实现key=value&key=value形式的数据提交的方案II 【 get 和post 布尔值参数处理方案】III、案例3.1 【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)3.2 iOS网络请求指南之 【条码支付综合前置平台被扫支付 / 申请退款API】(接口类型:unified.trade.refund)引言汇总iOS 网络请求相关的文章I、post实现key=value&key=value形式的数据提交

2021-03-24 14:12:44 5402 7

原创 iOS网络请求指南之《封装银联接口协议》(提交和返回数据都为XML格式)案例:备用无卡通道(收银台的订单退款、查询机制)【对接条码支付综合前置平台被扫支付订单申请退款(退款查询)】

文章目录引言I 、请求II 、返回结果see also引言退款条件判断:1、银联新一代不支持原路退款,2、微商/银联前置支持原路退款3、如果payChannelId = 18 就直接请求url:https://qra.95516.com/pay/gateway进行退款 case 6://银联: { if(self.onlinePayment.pay

2021-03-22 17:06:26 23440 40

原创 iOS AppStore Search optimize【 ASO项目使用的技术】目录(持续更新)

文章目录引言I、hook CFUserNotificationCreat 截取Header 部分信息、Message内容 进行任务处理1.1 监听CFUserNotificationCreate 进行处理连接状态1.2 下载app的时候,验证码的打码流程处理1.2.1 SBUserNotificationAlert1.2.2 CFUserNotificationCreatII 、电池状态监控III、 切换和控制Wi-FiIV、 数据清理引言原文:https://kunnan.blog.csdn.n

2021-03-11 10:36:32 63326 4

原创 iOS逆向专栏总目录(持续更新)

文章目录引言I、概述1.1 基本概念1.2 环境搭建1.3 常用逆向分析工具的原理及使用1.4 正向知识储备II iOS逆向进阶2.1.2 模拟鼠标点击2.1.3 LUA2.1.4 分析网络数据包2.1.5 日志分析III、案例实战3.1 ASOIV、 安全保护4.1 脱敏规范4.2 接口安全4.2.1 接口安全设计的Checklist引言欢迎大家来到#公众号:iOS逆向的《iOS应用逆向与安全》专栏本文列出学习大纲,同时也可作为大家学习《iOS应用逆向与安全》专栏的索引。文中的蓝字都是

2021-01-16 16:44:21 21126 4

原创 iOS基础-专栏总目录(持续更新)

文章目录引言I、 上架指南II、 系统适配iOS14适配iOS13适配III、 注册/登陆基础模块3.1 《用户协议及隐私政策》弹框3.2 处理用户输入内容IV、 支付基础知识V、 数据存储VI、 地理信息处理VII、 系统控件的基本使用及常见问题的解决方案VIII、 数据提交IX、 测试技巧X、 自定义视图see also引言欢迎大家来到#公众号:iOS逆向的《iOS基础》专栏本文列出学习大纲,同时也可作为大家学习《iOS基础》专栏的索引。文中的蓝字都是传送门,点击进入即可Basic

2021-01-16 09:55:27 19053 6

原创 iOS进阶专栏- 总目录(持续更新)

引言欢迎大家来到#公众号:iOS逆向的《iOS进阶》专栏本文列出学习大纲,同时这也可以作为大家学习iOS进行这个专栏的索引。文中的蓝字都是传送门,点击进入即可进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)iOS图片压缩compress【解决压缩之后图片模糊的问题】iOS14适配【 读取用户剪切板数据会弹出提示】1、 查找哪些SDK使用了剪切板,及时升级SDK2、先判断剪切板内容的各式,如果符合规则才读取剪切板1.0 自定义相机手持证

2021-01-14 17:38:48 18561 8

原创 本博客精品专栏汇总:《iOS进阶》、《iOS安全》(持续更新)

文章目录前言I、 iOS进阶II、iOS逆向III、 javaIV 、iOS基础前言“订阅”一次 ,享受终身服务的快乐订阅任意专栏,享有全部专栏I、 iOS进阶进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关:不允许访问 UIPageControl的pageImage3、UIView相关适配:UITableViewCell兼容等】II、iOS逆向III、 java

2021-01-08 16:55:08 59847 13

原创 iOS自定义相机:带拍摄区域边框、半透明遮罩层、点击屏幕对焦、自动裁剪(含demo源码)

IV、自定义相机: 加一个长方形的框框并裁剪身份证照片需求: 拍身份证的时候加一个长方形的框框功能目的:人脸比对,需要比对正面照和持证照,正面照如果是竖的话,会比对不上,因此拍照保存的照片要正向保存。目前产品没要求做边缘识别,代理商业务员能大概按样例图拍就行4.0 demo 源码demo 源码CaptureIDPic/** 回调照片的block */typedef void(^ImageBlock)(UIImage *image);@interface CRMCaptu

2021-01-07 14:42:11 8180 7

原创 iOS上架小技能:上架被拒绝的解决方案汇总(1、因蓝牙功能隐蔽而导致上架2、Invalid App Store Icon 3、iOS14.5以上隐私选项被打回)

文章目录前言I 、蓝牙权限被拒绝上架的案例1.1 解决方案II、 see also前言本文主要记录一次关于蓝牙权限被拒绝上架的问题。另外如果读者也维护公众号的话,告诉你个好消息:可以将创建过的话题标签配置在公众号主页,详见文末。I 、蓝牙权限被拒绝上架的案例拒绝原因Your app declares support for bluetooth-central in the UIBackgroundModes key in your Info.plist but does not prov

2021-01-06 11:13:12 2406

原创 iOS小技能:扫描证件&银行卡信息识别;身份证识别 (正反) ;矩形边缘识别 ;自定义证件相机 (含demo源码)

扫描证件&文字识别矩形边缘识别身份证识别 (正反)银行卡信息识别自定义相机: 加一个长方形的框框并裁剪身份证照片 (含demo源码)1、身份证正反面相机(加一个长方形的框框并裁剪身份证照片)2、手持证件照 相机(含demo源码)iPhone自定义键盘输入码(快速打出常用文字,类似Xcode的代码块)输入短语,点击空格键,就自动填充内容输入短语,点击空格键,就自动填充内容测试数据。

2020-12-15 12:02:58 34089 9

原创 Basic debugging using logging for iOS apps.& Customizing Process Stack Size

文章目录前言I 、 DEBUG 宏的应用1.1 发布模式关闭NSLogII、 NSLog调试技巧2.1 Objective-C's boxing capability (`装箱`快速构造数字对象)2.2 知识补充:装箱和拆箱see also前言本文demoI 、 DEBUG 宏的应用应用场景:区分调试模式和发布模式进行特殊处理自定义preprocessor macro:The DEBUG preprocessor macro setting in an Xcode projec

2020-11-11 15:45:16 17337

原创 进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)

文章目录前言I 、方案案例:local socket1.1 基础知识: Socket 通讯过程1.2 serverSocket1.3 clientSocket1.4 完整demosee also前言文章作者文章标题文章链接kunnan进程间的实时通讯blog url如果你对IPC不了解,可以先看下这篇- Inter process Communication登录 iTunes Store 这个输入框的弹出流程是由itunesstored 控制,process:Sp

2020-11-11 11:52:18 18974 7

原创 iOS处理语言工具CFStringTransform 的应用

文章目录前言I、 CFStringTransform 初识1.1 Transform identifiers1.1.1 不同拼写之间的转换1.1.2 去掉重音和变音符号1.1.3 找出特殊字符的 Unicode 标准名II、例子:通讯录索引前言通过对用户输入内容,利用CFStringTransform变换,可以轻松实现实现一个通用的搜索index搜索内容可以是多语言的I、 CFStringTransform 初识很明显CFStringTransform 是 Core Foundation

2020-11-10 17:31:08 12270

原创 iOS小技能:模拟鼠标点击(针对Mac)

文章目录前言I、安装方式II 使用方式2.1 获取位置的坐标2.2 点击指定位置坐标2.3 坐标系see also前言本文的例子是定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不不关闭屏幕的目的先来了解下安装和使用方法I、安装方式Homebrew包管理器 : brew install cliclick下载安装包 https://www.bluem.net/en/projects/cliclick/ 自己编译源码II 使用方式2.1 获取位置的坐标打印当

2020-10-07 14:14:46 7697 3

原创 iOS小技能:本地化字符串指定参数顺序(应用于app内多语言切换)

文章目录前言I 、 例子1.1 效果see also前言完整的demo源码对于在中英文语法的区别,在本地化字符串的时候,我们常常需要调整stringWithFormat的参数顺序原理:在%和@中间加上1,2,2,2等等就可以啦,数字代表参数的顺序。I 、 例子 self.FORMATLab.text = [NSString stringWithFormat:KNLocal(@"FORMAT", nil), @"csdn", @"https://kunnan.blog.csdn.

2020-09-25 11:33:35 27690 1

原创 iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关: UIPageControl的pageImage3、UIView相关:UITableViewCell兼容;4、网络相关】

文章目录前言I、权限相关的适配II、KVC相关的适配III、UIView相关的适配前言I、权限相关的适配iOS14 隐私适配:【定位授权新增了精确和模糊定位 可根据不同的需求设置不同的定位精确度】向用户申请临时开启一次精确位置权限的方案(不同场景可定义不同purposeKey)II、KVC相关的适配iOS14 适配:【KVC 不允许访问 UIPageControl的pageImage】解决方案: 自定义PageControIII、UIView相关的适配iOS14适配【 全局解UITa

2020-09-19 16:46:02 134173 8

原创 iOS小技能: 解决UITableViewCell兼容问题(iOS14适配)

文章目录I、问题分析II、使用方法交换,全局修改see also今天升级最新IDE Xcode,准备适配iOS14 API,结果发现app首页的cell中按钮也无法点击了。I、问题分析iOS14 UITableViewCell的子试图不能点击或者滑动等手势响应问题,发现有问题的cell基本都是直接cell.addSubView(tempView1)这种方式添加的,通过试图分析发现被系统自带的UITableViewCellContentView遮挡在底部了,所以需要改规范的做法cell.con

2020-09-18 19:10:02 145083 4

原创 iOS 安全规范指南之【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)应用案例:条码支付综合前置平台申请退款

前言支付类app为了安全起见,除了使用【防代理】,还可采用签名的方式进一步进行限制防止请求和返回报文被修改。应用场景:在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。I、步骤1.1 签名模式的前奏:按照参数名ASCII码从小到大排序并拼接[递归的方式进行实现]设所有发送或者接收到的数据为集合M,将集合M内的参数和参数值按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string

2020-08-24 11:46:27 77250

原创 iOS开发工具:【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)

前言block 的妙用:结合block和方法的优点实现iOS的链式编程-【 完整pod 仓库源码GitHub】主要针对段落样式NSMutableParagraphStyle和富文本NSMutableAttributedString进行封装代码效果 xx.kn_addString(@"封装富文本API").kn_fontColor(UIColor.redColor).kn_addString(@"采用block实现链式编程").kn_fontColor(UIColor.blueColor)

2020-08-06 16:39:58 24314 1

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抽奖转盘:概率抽奖算法 & 转盘算法 & 转盘主视图的实现思路

文章: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关注的人

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