自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 应用加固 - HTTPCore DES加密防护优化

加解密规则下沉到C++层,使加解密规则三端统一。

2023-01-16 14:29:53 465

原创 pod私有库

私有库制作

2023-01-16 14:17:18 2323

原创 Widget小组件

Widget小组件开发须知1、只能使用SwiftUI进行开发,所以需要SwiftUI和Swift基础2、Widget只支持3种尺寸systemSmall(2x2)、systemMedium(4x2)、systemLarge(4x4)3、默认点击Widget打开主应用程序4、需要在项目中进行App Groups的设置才能使其与主程序互通数据

2023-01-16 11:43:29 3532

原创 组件优化 - 多project方案

经销商项目目前是混合项目,有oc、swift、flutter,并对应各自的一些三方库,并随着需求的增加,项目代码体积也越来越大,编译速度也相应的慢了很多,这也严重影响了开发速度,故目前的期望是可以大力度降低编译的时间,考虑到项目中已采用组件化方案,如果每个组件只需要编译当前组件的代码,而不需要编译其他无关的代码,那么编译速度就可以极大的降低,故有了此次的技术优化需求。

2023-01-16 11:07:01 583

原创 日志捕获小工具

开发过程中,为了便于调试,会输出很多打印日志,而只有当电脑连着真机进行调试的时候,Xcode控制台才会有日志输出。这也就意味着如果未处于调试状态时,是看不到Xcode控制台的日志输出的,那么如果还想看到日志输出,那么这个功能就尤为重要了。

2023-01-16 10:46:49 861

原创 Swift return陷阱

Swift return后还会执行后边的代码

2023-01-13 17:48:17 1279

原创 MJRefresh的RxSwift用法 及ViewModel绑定 使用说明

MJRefresh的rxswift用法 及ViewModel绑定使用说明

2022-10-18 15:36:26 676

原创 多线程题目解析

多线程题目解析

2022-09-23 17:02:19 315

原创 消息传递流程

思维导图

2022-09-16 18:20:32 106

原创 自定义iOS注解

自定义iOS注解

2022-09-16 15:30:40 1351 2

原创 OC中因不同文件中C语言方法重名报错

今天发现,封装在私有库中的文件中有一个C语言方法,在项目中一个文件中同样定义了一个同名的C语言方法导致因C语言方法重名导致报错。原因:c语言没有namespace,即使在不同文件中,方法也不能重名。解决方案:1.功能相同的方法要抽到一个.c文件中实现。2. 用static修饰,就说明函数只是在该模块内被调用。3. 改为OC方法仅以记录...

2019-05-15 15:24:26 533

原创 身份证银行卡类添加空格分割

- (void)textFieldDidChange:(UITextField *)textField { NSInteger textLength = textField.text.length; NSString *text = [textField text]; text = [text stringByReplacingOccurrencesOfString:@...

2019-05-10 16:17:44 443

原创 内存泄漏以及内存排查技术分享

内存泄漏区分两个基本概念:·内存泄漏(memory leak):是指申请的内存空间使用完毕之后未回收。一次内存泄露危害可以忽略,但若一直泄漏,无论有多少内存,迟早都会被占用光,最终导致程序crash。(因此,开发中我们要尽量避免内存泄漏的出现)·内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间供其使用。通俗理解就是内存不够用了,通常在运行大型应...

2019-04-26 11:29:13 3091

原创 通信加密算法

1.通过简单的URLENCODE + BASE64编码防止数据明文传输2 对普通请求、返回数据,生成MD5校验(MD5中加入动态密钥),进行数据完整性(简单防篡改,安全性较低,优点:快速)校验。3 对于重要数据,使用RSA进行数字签名,起到防篡改作用。4 对于比较敏感的数据,如用户信息(登陆、注册等),客户端发送使用RSA加密,服务器返回使用DES(AES)加密。原因:客户端发送之所以使用RSA加密,是因为RSA解密需要知道服务器私钥,而服务器私钥一般盗取难度较大;

2018-03-10 23:39:41 7703

转载 iOS 设备是否越狱的判断代码

iOS 设备越狱检测

2017-10-09 10:40:35 1087

转载 iOS程序 防止动态调试

如何防止你的应用被GDB附加进程?

2017-10-09 09:40:09 2100

转载 Charles从入门到精通

Charles 从入门到精通

2017-09-30 10:28:45 311

原创 iOS 判断是否设置代理

只要是网络设置了代理,那么就禁止一切网络访问,这里记录一下如何判断是否设置了代理。 需要导入框架CFNetwork 然后,这个方法是mrc的:需要添加-fno-objc-arc的flag 代码如下:#import "CETCProxyStatus.h"@implementation CETCProxyStatus+ (BOOL)getProxyStatus { NSDictionary

2017-09-27 16:29:23 3003

转载 使用Xcode进行iOS设备无线调试

设备环境:Mac OSX 10.12.5、iOS11、Xcode9PS:这是WWDC2017的新功能,iOS11以上,Xcode9这是刚性要求。这个功能不好找,就记下来了手机连接上Xcode,打开Xcode菜单:Windows->Device and Simulators。找到连接上的设备,把Connect via network选项打勾。之后Xcode将会转一会圈圈,耐心等待一会

2017-09-21 14:51:40 493

原创 圆点view被切掉一块的bug

需要实现有新消息提醒时在title的右上角有红点提示,一个本来很简单的功能,但是遇到一个很奇葩的问题,有一个红点在6、6p上显示,红点的右边会有一点点被切平了,但是其他的几个红点是好的。真是一个很无语的bug啊 FUCK YOU MONEY 然后我就只能去跟这个bug,看看在3d视图显示上是啥样的,看了后发现,哈,真圆,圆的不能再圆了。

2017-08-10 10:07:28 453

原创 iOS实现从后台切换到前台有毛玻璃效果

为了保护用户的隐私加入了后台毛玻璃效果(其实并没有什么卵用),怎么实现呢,其实很简单,只需要在appDelegate中写几行代码即可.1. OC版本首先声明一个变量 visualEffectView@property (strong, nonatomic)UIVisualEffectView *visualEffectView;- (UIVisualEffectView *)visualEffec

2017-07-12 10:36:38 944

转载 iOS判断一些权限是否被禁止

iOS中经常会遇到访问相册、相机、麦克疯、蓝牙、以及推送等权限,所以每次我们要使用这些权限是都要记得查看用户是否允许了,如果用户禁止了你的访问权限,你仍然去调取相册或者相机等,那么就会先出现下面的这个提示。而且是英文的,这时候用户可能有些懵逼了,这个时候我们最好给一个提示,用户点击确定后,我们最好贴心的跳转到应用的权限出,让用户一键允许。权限被禁用1.查看相册权限是

2017-07-11 13:45:18 680

原创 扫描银行卡,获取银行卡号 - Card.io

实现功能:通过扫描银行卡,获取银行卡号。在网上搜过后,选用了card.io这个SDK,其他的都要收费,不过这个sdk只能扫描有凸起的银行卡,平面字体无法识别。过程如下:(1)下载Card.ioCard.io是让手机摄像头获取信用卡的信息,中间利用了OCR(光学字符识别)的扫描技术返回结果,它还推出了SDK(软件开发包),让开发者们可以把card.io添加到自己的应用当中。可以在https://git

2017-07-11 13:24:48 2305

原创 金额输入正则判断

实现功能:1. 可以输入整数2. 可以输入一位和两位小数3. 最多能输入一个小数点4. 整数部分避免出现001,032,这种情况金额输入限制:整数部分10位数,最多保留两位小数实现方法:- (BOOL)textField:(UITextField *)textField shouldChangeCharac

2017-07-11 11:01:05 623

原创 iOS tableview SDWebImage加载多张图片内存警告(received memory warning)

最近项目中遇到一个问题在tableview上展示多张图片,在加载的过程中,图片过多时,加载几张图片就崩溃了。内存溢出为什么会出现这种情况这个原因其实很明显,SDWebImage产生的图片缓存过多,造成APP内存溢出,崩溃了。查了一些资料有三种解决方法1. 更改图片的大小,在tableview中展示缩略图,点击查看的时候显示原图。其中看到的一篇意思到了(传

2017-07-04 17:04:36 3480

原创 iOS 使用UITextField自动格式化银行卡号

代码有问题,可参考最新的文章。https://blog.csdn.net/qq_25303213/article/details/90074174项目中需要输入银行卡,希望自动按照4为分组格式化。//这里没有增加银行卡长度限制在确定提交给服务器的时候,重新格式回不带空格的字符串就好了self.textField.text = [self.textField.text s...

2017-07-03 11:20:36 517

原创 物理仿真-单摆球

GitHub:https://github.com/LearnMoreAndBetter/DynamicDemo实现单摆球功能代码调用1. 添加仿真行为2. 添加的 kvo方法作用是当监听到小球的中心变化时执行 setNeedDisplay方法走了这方法后就会重新绘制3. 使用 touc

2017-06-28 17:28:31 1790 1

原创 物理仿真中的圆形碰撞

在上一节中发现了个问题,几个球之间的碰撞看似是球与球之间的碰撞,实则是矩形之间的碰撞。这一节就解决这个问题。UIDynamics 的第一个版本带有碰撞系统只支持矩形。这可以理解,因为UIViews都是矩形架构,但是圆形的却不常见,更不用说优化一个自定义的贝塞尔曲线。在iOS 9中,UIDynamicItem协议里加了一个新属性:UIDynamicItemCollisionBoundsTyp

2017-06-27 14:53:00 672

原创 汉诺塔游戏和物理仿真

GitHub:https://github.com/LearnMoreAndBetter/DynamicDemo/* 汉诺塔游戏规则:  1、将盘子全部移动到塔C 2、每次只能移动一个圆盘; 3、大盘不能叠在小盘上面。 */1. 视图创建2. 递归算法实现功能

2017-06-26 17:15:44 514

原创 金额输入按照元角分格式,不需要输入小数点

GitHub : https://github.com/LearnMoreAndBetter/RMMoneyTextFieldDemo/tree/master最近项目中需要实现一个功能:1. 输入金额时,按照元角分格式输入,不需要输入小数点。比如输入1,就显示0.01,再输入2,变为0.12,再输入3,变成1.23。。。以此类推~(功能虽然奇葩了点,但是还是要去实现的)2. 保留两位小数3. 不限制金额长度4. 小数点前整数部分过三位数,加逗号分隔

2017-06-26 13:32:19 2426

转载 IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母

今天在项目中需要用到判断用户输入的用户名长度为8-16位且同时包含数字和字母,在网上搜了一下正则表达式的用法,然后参考这篇blog,完美解答了问题。记录一下:密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:1,不能全部是数字2,不能全部是字母3,必须是数字

2017-06-22 14:24:22 1117

原创 两种定时器的封装

GitHub:https://github.com/LearnMoreAndBetter/RMTimerDemo# RMTimerDemo定时器封装本项目中对两种定时器进行了封装,dispatch_source_t和NSTimer关于这两个定时器,还是有点区别的:使用NSTimer常常会不准时,因为它被添加到RunLo

2017-05-27 10:53:06 1023

原创 时间轴

# RMTimeLineDemoGitHub:https://github.com/LearnMoreAndBetter/RMTimeLineDemo简单的时间轴,和动态缓存高度这里用到了一个简单的思路,把时间轴的线条当做一条完整的线,然后通过scrollview的滚动,修改lineview的frame,这样就不需要在每一条cell中添加

2017-05-26 11:10:22 460

原创 ShareSDK分享以及所遇到的一些问题

GitHub:https://github.com/LearnMoreAndBetter/RMShareDemosdk下载,当前项目用的是简洁分享视图分享中遇到的一些问题简洁分享UI不显示图标 解决方法: 包含头文件#import  设置Style:[SSUIShareActionSheetStyle setShareActionSheetStyle

2017-05-23 17:10:44 816

原创 Model基类与字典中嵌套数组时Model的处理方法

RMBaseModelmodel基类与字典中嵌套数组Model的处理方法RMBaseModel :Model基类实现字典与model之间的转化实现Model的descriptionRMFirstModel继承自RMBaseModel处理字典中嵌套数组的问题 得到 Model中嵌套Model数组 方便后面的数据处理平时的Model只需继承自RMBase

2017-05-22 15:14:55 1462

原创 画虚线

RMDashLine画虚线本项目选择两种方法实现虚线的画法RMDashLineView :drawRect UIBezierPath画虚线RMDashLineLayerView :通过Layer层画虚线调用方法 与正常view创建方法一致RMDashLineView RMDashLineView *line1 = [[RMDashLine

2017-05-19 09:59:41 558

原创 ActionSheet和AlertView的封装

ActionSheet的封装github:https://github.com/LearnMoreAndBetter/RMActionSheet提供了两种方式的封装1. 协议实现封装//取消自定义+ (void)showSheetWithTitle:(NSString *)titlemessage:(NSStr

2017-05-17 13:32:49 276

原创 上传图片

上传图片

2017-05-02 17:55:47 316

原创 五子棋的实现

直接看代码吧GitHub: https://github.com/LearnMoreAndBetter/GobangProject/tree/master

2017-04-18 16:11:57 345

原创 textview字数限制

textview字数限制

2017-04-14 14:20:05 271

空空如也

空空如也

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

TA关注的人

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