
iOS进阶
文章平均质量分 86
1、支付解决方案:收银app必备模块、消息推送后台语言播报、app侧对请求参数签名、敏感逻辑的保护方案、app安全与逆向
2、上架的常见问题及解决方,适配最新系统、常用动画(横/竖向折叠菜单、添加购物车动画)
3、连接蓝牙的使用及打印小票和价签指南
4、app国际化(中英文切换)、LLDB
java、iOS、Vue
华为云云享专家认证|阿里云开发社区博客专家,定期分享Java、iOS资讯(包括基础知识储备)、小程序开发与运营、阅读与写作。只为你呈现有价值的信息,专注于移动端技术研究领域。
展开
-
iOS小技能:扫描证件&银行卡信息识别;身份证识别 (正反) ;矩形边缘识别 ;自定义证件相机 (含demo源码)
扫描证件&文字识别矩形边缘识别身份证识别 (正反)银行卡信息识别自定义相机: 加一个长方形的框框并裁剪身份证照片 (含demo源码)1、身份证正反面相机(加一个长方形的框框并裁剪身份证照片)2、手持证件照 相机(含demo源码)iPhone自定义键盘输入码(快速打出常用文字,类似Xcode的代码块)输入短语,点击空格键,就自动填充内容输入短语,点击空格键,就自动填充内容测试数据。原创 2020-12-15 12:02:58 · 34858 阅读 · 9 评论 -
iOS进阶专栏- 总目录(持续更新)
引言欢迎大家来到#公众号:iOS逆向的《iOS进阶》专栏本文列出学习大纲,同时这也可以作为大家学习iOS进行这个专栏的索引。文中的蓝字都是传送门,点击进入即可进程间的实时通讯方案: local socket(解决扩展和容器应用的实时通讯问题)iOS图片压缩compress【解决压缩之后图片模糊的问题】iOS14适配【 读取用户剪切板数据会弹出提示】1、 查找哪些SDK使用了剪切板,及时升级SDK2、先判断剪切板内容的各式,如果符合规则才读取剪切板1.0 自定义相机手持证原创 2021-01-14 17:38:48 · 18782 阅读 · 8 评论 -
iOS 安全规范指南之【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)应用案例:条码支付综合前置平台申请退款
前言支付类app为了安全起见,除了使用【防代理】,还可采用签名的方式进一步进行限制防止请求和返回报文被修改。应用场景:在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。I、步骤1.1 签名模式的前奏:按照参数名ASCII码从小到大排序并拼接[递归的方式进行实现]设所有发送或者接收到的数据为集合M,将集合M内的参数和参数值按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string原创 2020-08-24 11:46:27 · 78764 阅读 · 0 评论 -
签名计算:对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)【java版本、JS(Vue)、iOS版本的实现】
本文详细介绍了iOS应用中参数签名的安全规范,包括参数按照ASCII码排序、拼接成原始串,使用MD5加密计算签名的过程。同时,讨论了敏感逻辑保护方案和常见问题,如Bool参数处理和微信支付接口的特殊情况。提供相关demo下载和应用案例,以确保请求数据的安全性和完整性。)的格式(即key1=value1&key2=value2…)拼接而成,空值不传递,不参与签名组串。所有参数按照字段名的ascii码从小到大排序后使用QueryString(签名计算规则说明: 数组和对象独立进行签名计算,采用递归实现。原创 2025-03-29 11:32:19 · 163 阅读 · 0 评论 -
iOS小技能:NSPredicate在正则表达式的应用【下篇】
版权声明:本文为优快云博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。从数组中筛选type=8的电子签名数据,避免遍历数组 certificateInfoList。仅支持数字、字母、中文、斜杠\、横杠",且不能以符号开头。“-”这个连接符需要转义-,否则报如下的错误。正则匹配用户密码6-16位数字和字母组合。正则匹配用户姓名,20位的中文或英文。原创 2022-11-22 15:51:08 · 1666 阅读 · 1 评论 -
iOS小技能:第三方库管理规范
gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交,这样就不会出现忽略的文件了。删除实现文件的方法时,记得把头文件的方法声明也去掉,这样其他地方如果引用方法,可以立马发现。如果开发和上线打包不同人操作的,那么TestFlighty的使用成为测试的同事的必备技能。为了能更好的协作管理项目,今天分享下第三方库管理规范,以Cocoapods为案例。原创 2022-11-21 16:32:33 · 1678 阅读 · 0 评论 -
iOS小技能:iOS15崩溃排查技巧(symbolicatecrash符号化分析问题、导出和隐藏符号)
场景:用户在机器1上用 Xcode 将 App 工程(存放于本机文件路径1)布署到 iPhone 上,然后在机器2上用 Xcode 打开文件路径2的工程,然后 Attach 到 iPhone 上的 App 进程,这时 Xcode 因为找不到文件路径1所以无法显示源代码,这时 Xcode 只能展示汇编代码。在macho文件中的_DATA数据段中有很多objc的节信息,里面保存了所有的类以及方法等元数据信息。机器1上的文件路径1和机器2上的文件路径2应该包含相同版本的源文件,否则调试时会显示异常。原创 2022-11-09 11:30:51 · 1102 阅读 · 0 评论 -
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 · 3452 阅读 · 6 评论 -
iOS小技能:SKU视图搭建
对于一种商品而言,当他的品牌、型号、配置、花色、容量、生产日期、保质期、用途、价格、产地等属性与其他商品存在不同时,就是一个不同的最小存货单元。根据已选中的一个或多个属性过滤出剩余属性的可选性,以及选完所有属性之后对应的结果信息(库存、价格等)例子:对应式的颜色ID在第一个位置,但是规格数据的颜色在第二个位置。,不同的组合就是不同的SKU,把一组满足条件的属性叫做条件式。问题:规格数据和条件式的规格ID数据顺序不一致,导致数据检测不正确。为规格属性加一个坐标(属性ID),记录他们的位置。原创 2022-09-05 11:37:05 · 885 阅读 · 0 评论 -
iOS小技能:文件预览、分享、打印、存储到手机
应用场景:文件下载、打印1.2 友盟SDKII 原生API的文件预览及其他应用打开获取NSURL实例化UIDocumentInteractionController2.1 预览文件原创 2022-06-22 16:30:30 · 1279 阅读 · 6 评论 -
iOS小技能:富文本编辑器(上篇)
采用WKWebview加载一个本地html文件,该html内部编写好js方法用于与oc相互调用最终输出富文本字符串()传输给服务器I RichTextEditortodo原生 iOS-Rich-Text-Editor原创 2022-06-15 16:29:42 · 1613 阅读 · 2 评论 -
iOS app处于后台/被杀死的状态仍可进行语言播报(iOS12.1以上在后台或者被杀死无法语音播报的解决方案)【适配iOS15的本地通知功能,实现ios 金额播报】
前言想要消息推送的消息在Service Extension中被处理,需要aps 中包含mutable-content : 1 的内容. 测试消息推送的时候,以极光为例,需要记得在高级设置开启mutable-content。 aps = {alert = { body = 11; subtitle = 111; title = "111...原创 2019-12-25 17:07:19 · 106300 阅读 · 2 评论 -
iOS小技能:app侧登录流程【上篇】 (前置知识)
文章目录引言I 前置知识1.1 分布式系统下的session1.2 服务端侧的登录处理1.3 app侧需求II app侧登录流程2.1 开发步骤2.2 token信息存储注意事项2.3 整体思路引言上篇:下篇:https://blog.youkuaiyun.com/u011018979/article/details/105202605I 前置知识1.1 分布式系统下的sessionsession: 一种保存key-value的机制key:sessionIDtoken (配合签名一起使用)原创 2022-04-16 09:04:31 · 4918 阅读 · 0 评论 -
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 · 10376 阅读 · 3 评论 -
iOS小技能:Socket基础知识
文章目录前言I 知识储备1.1 长连接1.2 tweak是什么?II 案例:iOS tweak 集成CocoaAsyncSocket前言应用场景:app端集成CocoaAsyncSocket与服务端进行通信,利用实现机器人功能。即时通讯的大数据处理逻辑:多线程采用逐条处理,你也可以采用事务处理聊天记录大数据,但如果发生错误需要全部回滚。创建NSBlockOperation 放到NSOperationQueue异步执行。系统会自动将NSOperationQueue中的NSOperat原创 2022-03-23 13:23:40 · 3050 阅读 · 0 评论 -
iOS15 消息推送语言播报【修订版】(处于后台/被杀死的状态仍可进行语言播报)
引言付费方案(付费离线SDK+Service Extension):https://kunnan.blog.youkuaiyun.com/article/details/121681495免费方案:(本地拼接音频+Service Extension)离线合成比较成本昂贵,所以推荐你采用本地拼接音频实现。iOS15之后,在AppGroup中合并音频来避免产生多条横幅。目前正准备采用语音合成音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificat原创 2022-03-07 11:17:38 · 6746 阅读 · 1 评论 -
iOS动态控制子视图按钮的显示与隐藏 (Masonry版本)
文章目录引言I、使用MASConstraint的安装与移除进行动态控制1.1 下级订货单不展示政策信息1.2 入库单详情界面未审核状态时展示审核按钮,否则隐藏审核按钮)1.2、 根据使用包含特定字段models.tradeNo进行移除和卸载特定的约束II、更新视图的高度约束来动态控制子视图按钮的显示与隐藏III 、see also : 比例3.1 倍数 multipliedBy3.2 dividedByIV 、附:自定义按钮引言应用场景:例子1、下级订货单不展示政策信息例子2、:本级的订货清单不原创 2021-05-07 15:56:44 · 2395 阅读 · 1 评论 -
iOS小技能:对象数组按照日期分组和排序,使用块代码实现数组排序和乱序。
文章目录引言I 对象数组按照日期分组排序1.1 将含有日期属性的对象数组按照日期重新分组1.2 将对象数组按照时间戳排序引言将含有日期属性的对象数组按照日期重新分组将对象数组按照时间戳排序I 对象数组按照日期分组排序1.1 将含有日期属性的对象数组按照日期重新分组使用谓词进行数据分组 (数组元素为 自定义类型)需求:按照日期进行分组展示实现: 重新按照日期进行分组组织数据,找出不重复的日期。 /** 对象操作: 针对数组的情况 @distinctUnio原创 2021-12-09 15:20:27 · 2954 阅读 · 0 评论 -
iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension)
文章目录引言I 离线合成引言在杀死APP的情况下唤醒APP,并执行代码的实现方式有Voip 推送和iOS 10新增的Service Extension。本文采用Service Extension并结合本地通知实现app处于后台/被杀死的状态仍可进行语言播报。其他解决方案: 云喇叭播放语音强烈推荐的方案: apns的payload中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificatio原创 2021-12-02 17:04:48 · 4856 阅读 · 1 评论 -
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 · 6341 阅读 · 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 · 5166 阅读 · 0 评论 -
iOS小技能: Target-Action设计模式的运用
前言Target-Action,也叫“目标-动作”模式,即当某个事件发生的时候,调用特定对象的特定方法。“特定对象”就是Target,“特定方法”就是Action。Target-Action模式主要包含两个部分:Target(对象):接收消息的对象。Action(方法):用于表示需要调用的方法。see alsoiOS 使用代码触发button的点击事件:【 [btn sendActionsForControlEvents:UIControlEventTouchUpInside];】及教你找原创 2020-08-15 09:49:14 · 11689 阅读 · 0 评论 -
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 · 2770 阅读 · 0 评论 -
iOS安全保护:静态混淆、动态保护、代码混淆:(静态库混淆:混淆带有bitcode的静态、采用LLVM针对源代码混淆)
安全保护静态混淆: Static_obfuscation动态保护:反调试(PT_DENY_ATTACH = 31参数用于告诉系统阻止调试器的依附;利用sysctl函数查看当前进程信息,判断是否有此标志位来检测是否处理调试状态)、反反调试、反注入(通过_dyld_get_image_name()获取加载的模块名,判断是否都在白名单中)、hook检测(通过dladdr函数得到imp地址所在的模块info.dli_fname;遍历符号表中的每一个指针,然后判断指针是不是指向__stub_helper或者..原创 2020-08-12 14:48:57 · 12278 阅读 · 2 评论 -
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 · 3686 阅读 · 6 评论 -
iOS精彩博文选登(持续更新) | 寻找C站“宝藏”
文章目录引言OCRsee also引言收藏本人喜欢的精彩博文 1、iOS《用户协议及隐私政策》弹框(包含超链接属性)【本文包含完整demo源码,demo支持中英文切换】2、UICollectionView的自适应案例详解:【商品详情页】(核心原理:按照图片的原宽高比例进行显示图片全部内容,并自动适应高度)文中包含完整demo源码3、iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台原创 2021-06-01 10:52:18 · 1740 阅读 · 1 评论 -
iOS小技能: OCR 之身份证识别 (正反面) 【 应用场景:物流类型app进行实名认证】
3.3、人脸小框检测:人脸区域是否在这个人脸小框内,若在,说明用户的确将身份证头像放在了这个框里,那么此时这一帧身份证图像大小正好合适且完整,接下来才捕获该帧,就获得了完整的身份证截图。Category、Tool、libexidcard、Model、View、Controller这六个文件夹。1、功能:可自动快速读出中国二代身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取到身份证图像。1、功能:可自动快速读出中国二代身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取到身份证图像。原创 2021-05-31 13:37:43 · 4144 阅读 · 2 评论 -
iOS Document Scanner: 矩形边缘识别(边缘检测 ) CIDetectorTypeRectangle
文章目录引言I 、矩形边缘识别II 、demo2.1 swiftsee also引言I 、矩形边缘识别II 、demo2.1 swiftCIDetectorTypeRectangle//import CoreImageimport UIKitpublic final class CIImageRectangleDetector: ImageRectangleDetector { public func detect(image: UIImage, completion: @es原创 2021-05-28 17:02:45 · 3799 阅读 · 5 评论 -
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 · 5560 阅读 · 7 评论 -
消息推送小探索:对即时性和送达率有要求的场景
文章目录引言I、iOS1.1 iOS12.1以上在后台或者被杀死无法语音播报的解决方案II、android1.1 利用厂商推送能力( 极光推送的厂商对接资料)1.2 极光推送设置心跳交互时间引言本文重点针对对即时性和送达率有要求的场景I、iOS1.1 iOS12.1以上在后台或者被杀死无法语音播报的解决方案iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解原创 2021-03-18 15:42:34 · 2429 阅读 · 3 评论 -
iOS AppStore Search optimize【 ASO项目使用的技术】之 Inter process Communication By Rrocketbootstrap
文章目录引言I 、基于Rrocketbootstrap的封装Message工具类进行进程间的消息通信II 、去掉对rocketbootstrap的Depends依赖see also引言应用场景:进程的通信发现vpn状态异常, 尝试关闭pppd修正#define DPost(cmd,...) [Message postMsg:@[cmd,##__VA_ARGS__] toCenter:DaemonServerKey error:nil] DPost(@"kill"原创 2021-03-12 14:34:22 · 1836 阅读 · 0 评论 -
iOS横屏电子签名上篇【核心原理: 旋转特定的屏幕& Quartz2D】应用场景:采集电子签名,支持签名界面为横屏其余页面都是竖屏、清除重写、灵活控制提示语信息、以及查看商户协议等
文章目录前言I 、原理1.0 屏幕旋转的基础知识1.1 旋转特定屏幕的原理说明1.2 代码示例1.2.1 传递子控制器的屏幕旋转属性II、 开发步骤(源码)1.0 demo源码及用法1.0.1 用法1.1 、 viewWillAppear :push过来,设置横屏1.2 、 viewWillDisappear:push过来,页面消失时设置成竖屏,要不然返回到前一个页面也会成横屏,1.3 、 设置当前 viewController 屏幕旋转方向的相关属性1.4 屏蔽屏幕旋转的方法`application原创 2021-01-11 16:26:53 · 6065 阅读 · 3 评论 -
iOS自定义相机:带拍摄区域边框、半透明遮罩层、点击屏幕对焦、自动裁剪(含demo源码)
IV、自定义相机: 加一个长方形的框框并裁剪身份证照片需求: 拍身份证的时候加一个长方形的框框功能目的:人脸比对,需要比对正面照和持证照,正面照如果是竖的话,会比对不上,因此拍照保存的照片要正向保存。目前产品没要求做边缘识别,代理商业务员能大概按样例图拍就行4.0 demo 源码demo 源码CaptureIDPic/** 回调照片的block */typedef void(^ImageBlock)(UIImage *image);@interface CRMCaptu原创 2021-01-07 14:42:11 · 8646 阅读 · 7 评论 -
进程间的实时通讯方案: 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 · 19230 阅读 · 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 · 12481 阅读 · 0 评论 -
iOS14适配:【解决iOS14下pop多层控制器至首页时,tabbar不显示问题】方案1:重写pushViewController;方案2: hook hidesBottomBarWhenPush
文章目录前言I、问题分析1.0 demo 的构建1.1 打印日志分析viewControllers1.1.1 iOS14 pop至首页之后的viewControllers 分析1.1.2 iOS13 pop至首页之后的viewControllers 分析1.1.3 结论1.2 使用 symbolic Breakpoint 分析hidesBottomBarWhenPushed 的获取时机1.3 使用hook进一步 `popToViewController:transition:`时候的viewContro原创 2020-09-23 21:21:58 · 12633 阅读 · 0 评论 -
Attempted to call -cellForRowAtIndexPath: on the table view while it was in the process of updating
前言今天升级最新IDE Xcode,准备适配iOS14 API,结果运行app发现控制台打印了如下信息,且app的首页的cell中按钮也无法点击了。错误信息Attempted to call -cellForRowAtIndexPath: on the table view while it was in the process of updating its visible cells, which is not allowed. Make a symbolic breakpoint at UI原创 2020-09-18 11:26:44 · 12746 阅读 · 0 评论 -
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 · 13516 阅读 · 0 评论 -
AFNetworking小技能:正确使用connection的RunloopMode
AFNetworking最核心的类 AFSecurityPolicy:验证HTTPS请求的证书 https://blog.youkuaiyun.com/z929118967/article/details/77115940正确使用connection的RunloopMode主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefaultMode 和 UITrackingRunLoopMode。这两个 Mode 都已经被标记为”Common”属性;这样任务会被 RunLoop 自动更新到所有具有”原创 2017-08-31 21:06:12 · 11022 阅读 · 0 评论 -
iOS小技能:dylb 的加载流程
查看Mach-O文件的签名信息原创 2017-07-31 14:27:24 · 11508 阅读 · 0 评论