[toc]

引言

欢迎大家来到#公众号:iOS逆向的《iOS支付项目实践》专栏

本专栏以实战为线索,逐步深入iOS开发各个环节,掌握支付APP常用的基础功能(均含demo源码),打造完整native客户端工作流,提升工程化编码能力和思维能力。

本专栏的整体大纲模块

鄙人简介

I 、视图

1.1 《用户协议及隐私政策》弹框

1.2 电子签名

1.3 商品详情页

  • [UICollectionView的自适应案例详解:【商品详情页】(核心原理:按照图片的原宽高比例进行显示图片全部内容,并自动适应高度)完整demo源码
    ](https://download.csdn.net/dow...

1.4 上传图片视图的封装【支持删除和添加】

demo源码下载:https://download.csdn.net/download/u011018979/15868813

1.5 查看风险商户的证明材料,图片支持滑动切换

[video(video-farK5uUD-1616404131406)(type-csdn)(url-https://live.csdn.net/v/embed...查看大图浏览器)]

从CSDN下载Demo源码:https://download.csdn.net/download/u011018979/16039540

  • 主要功能:进入查看器之后,可左右滑动查看上/下张,并支持下滑视图退出查看器

1.6 iOS 常用动画【 定点缩放弹窗】

iOS开发中常用的动画(定点缩放弹窗)的应用场景:

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

[video(video-K3T78OB0-1618275489033)(type-csdn)(url-https://live.csdn.net/v/embed...概率抽奖算法 & 转盘算法)]
iOS抽奖转盘:概率抽奖算法 & 转盘算法 & 转盘主视图的实现思路 (从CSDN下载完整Demo)https://download.csdn.net/download/u011018979/16651799

1.8 自定义相机( 银行卡/身份证识别OCR、矩形边缘识别)

  • 扫描银行卡识别信息:

iOS 自定义相机进行银行卡/身份证信息识别方案

1.9 收银app必备模块:iOS折扣计算器

采用NSDecimalNumber 进行表达式的精准计算(计算字符串数学表达式)

1.10 通讯录

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

1.11 限定文本输入框输入特定的字符个数

1.12 iOS商品类目选择视图

[video(video-fWYLiH0s-1624340333311)(type-csdn)(url-https://live.csdn.net/v/embed... 商品/经营类目选择视图)]

下载地址:https://download.csdn.net/download/u011018979/19775162

在发布商品的时候,选择类目界面的要求视图分为上下部分。

支持清空数据功能

II 语音播报 & 国际化

2.1 iOS12.1以上在后台或者被杀死无法语音播报的解决方案

iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案

2.2 APP 内的国际化切换

从CSDN下载【iOS APP 内的国际化切换】demo源码:https://download.csdn.net/download/u011018979/19089505

III 蓝牙打印商品价格标签、交易小票

IV 、iOS安全资源

4.1 参数签名

iOS app侧对请求参数进行签名:【请求参数按照ASCII码从小到大排序、拼接、加密】(递归的方式进行实现)

4.2 敏感逻辑的保护方案

案例:js根据key从本地方法获取设备及签名信息 (完整demo)

2021-04-14 17:28:28.762113+0800 SignWithjsKey[23919:2084235] getGyqAppParams: {"api_version":"v1.1.4","appid":"3","time":"1618392508","operator":"中国电信","user_id":"https:\/\/kunnan.blog.csdn.net\/","vn":"1.0","device_id":"b8eeff0f1612d4b9fba63ba7b47dbf27","channel":"default","device_name":"iPhone8,1","os":"iOS","sign":"b2ad581d2e30730f3aed506fc7593957","openudid":"0dce01d7424ac836d33ef49e20019e920e847e96","token":"#公众号:iOS逆向","root":"1","idfv":"-D089-4021-82A9-65D8E400C711","height":"1334","width":"750","xyz":"0.006973,0.007675,-1.009369","os_version":"14.0","network":"no_network","vc":"1","idfa":"-3693-4940-BEAD-93C59E53FA55"}

从CSDN下载Demo:https://download.csdn.net/download/u011018979/16751837

4.3 基于NSURLProtocol拦截所有网络请求

从CSDN下载demo资源:https://download.csdn.net/download/u011018979/16768533

V、 逆向

5.1 IPC

iOS AppStore Search optimize【Inter process Communication】之 去掉对rocketbootstrap的Depends依赖

5.2 分析如何调用的ptrace,并hook ptrace

从CSDN下载完整Demo: https://download.csdn.net/download/u011018979/15834414

5.3 进程间的实时通讯方案

local socket(解决扩展和容器应用的实时通讯问题)

VI、iOS中tabBar按钮再次点击实现界面刷新

[video(video-zkepGWfX-1614648823294)(type-csdn)(url-https://live.csdn.net/v/embed...中tabBar按钮再次点击实现界面刷新)]

VII 、HTML字符串与富文本互转

HTML字符串与富文本互转(加载本地html) demo 源码

VIII、iOS开发效率工具

8.1 封装富文本API

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

see also

CSDN博客专家(移动开发领域新星创作者):https://kunnan.blog.csdn.net/
公众号:iOS逆向(code4iOS)

03-05 20:33