iOS
文章平均质量分 74
iOS-Carlos
自由的男人
展开
-
应用加固 - HTTPCore DES加密防护优化
加解密规则下沉到C++层,使加解密规则三端统一。原创 2023-01-16 14:29:53 · 493 阅读 · 0 评论 -
pod私有库
私有库制作原创 2023-01-16 14:17:18 · 2410 阅读 · 0 评论 -
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 · 4445 阅读 · 0 评论 -
组件优化 - 多project方案
经销商项目目前是混合项目,有oc、swift、flutter,并对应各自的一些三方库,并随着需求的增加,项目代码体积也越来越大,编译速度也相应的慢了很多,这也严重影响了开发速度,故目前的期望是可以大力度降低编译的时间,考虑到项目中已采用组件化方案,如果每个组件只需要编译当前组件的代码,而不需要编译其他无关的代码,那么编译速度就可以极大的降低,故有了此次的技术优化需求。原创 2023-01-16 11:07:01 · 616 阅读 · 0 评论 -
日志捕获小工具
开发过程中,为了便于调试,会输出很多打印日志,而只有当电脑连着真机进行调试的时候,Xcode控制台才会有日志输出。这也就意味着如果未处于调试状态时,是看不到Xcode控制台的日志输出的,那么如果还想看到日志输出,那么这个功能就尤为重要了。原创 2023-01-16 10:46:49 · 908 阅读 · 0 评论 -
Swift return陷阱
Swift return后还会执行后边的代码原创 2023-01-13 17:48:17 · 1351 阅读 · 0 评论 -
物理仿真-单摆球
GitHub:https://github.com/LearnMoreAndBetter/DynamicDemo实现单摆球功能代码调用1. 添加仿真行为2. 添加的 kvo方法作用是当监听到小球的中心变化时执行 setNeedDisplay方法走了这方法后就会重新绘制3. 使用 touc原创 2017-06-28 17:28:31 · 1846 阅读 · 1 评论 -
金额输入正则判断
实现功能:1. 可以输入整数2. 可以输入一位和两位小数3. 最多能输入一个小数点4. 整数部分避免出现001,032,这种情况金额输入限制:整数部分10位数,最多保留两位小数实现方法:- (BOOL)textField:(UITextField *)textField shouldChangeCharac原创 2017-07-11 11:01:05 · 654 阅读 · 0 评论 -
扫描银行卡,获取银行卡号 - Card.io
实现功能:通过扫描银行卡,获取银行卡号。在网上搜过后,选用了card.io这个SDK,其他的都要收费,不过这个sdk只能扫描有凸起的银行卡,平面字体无法识别。过程如下:(1)下载Card.ioCard.io是让手机摄像头获取信用卡的信息,中间利用了OCR(光学字符识别)的扫描技术返回结果,它还推出了SDK(软件开发包),让开发者们可以把card.io添加到自己的应用当中。可以在https://git原创 2017-07-11 13:24:48 · 2355 阅读 · 0 评论 -
iOS判断一些权限是否被禁止
iOS中经常会遇到访问相册、相机、麦克疯、蓝牙、以及推送等权限,所以每次我们要使用这些权限是都要记得查看用户是否允许了,如果用户禁止了你的访问权限,你仍然去调取相册或者相机等,那么就会先出现下面的这个提示。而且是英文的,这时候用户可能有些懵逼了,这个时候我们最好给一个提示,用户点击确定后,我们最好贴心的跳转到应用的权限出,让用户一键允许。权限被禁用1.查看相册权限是转载 2017-07-11 13:45:18 · 733 阅读 · 0 评论 -
IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
今天在项目中需要用到判断用户输入的用户名长度为8-16位且同时包含数字和字母,在网上搜了一下正则表达式的用法,然后参考这篇blog,完美解答了问题。记录一下:密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:1,不能全部是数字2,不能全部是字母3,必须是数字转载 2017-06-22 14:24:22 · 1129 阅读 · 0 评论 -
Model基类与字典中嵌套数组时Model的处理方法
RMBaseModelmodel基类与字典中嵌套数组Model的处理方法RMBaseModel :Model基类实现字典与model之间的转化实现Model的descriptionRMFirstModel继承自RMBaseModel处理字典中嵌套数组的问题 得到 Model中嵌套Model数组 方便后面的数据处理平时的Model只需继承自RMBase原创 2017-05-22 15:14:55 · 1496 阅读 · 0 评论 -
ActionSheet和AlertView的封装
ActionSheet的封装github:https://github.com/LearnMoreAndBetter/RMActionSheet提供了两种方式的封装1. 协议实现封装//取消自定义+ (void)showSheetWithTitle:(NSString *)titlemessage:(NSStr原创 2017-05-17 13:32:49 · 289 阅读 · 0 评论 -
画虚线
RMDashLine画虚线本项目选择两种方法实现虚线的画法RMDashLineView :drawRect UIBezierPath画虚线RMDashLineLayerView :通过Layer层画虚线调用方法 与正常view创建方法一致RMDashLineView RMDashLineView *line1 = [[RMDashLine原创 2017-05-19 09:59:41 · 606 阅读 · 0 评论 -
两种定时器的封装
GitHub:https://github.com/LearnMoreAndBetter/RMTimerDemo# RMTimerDemo定时器封装本项目中对两种定时器进行了封装,dispatch_source_t和NSTimer关于这两个定时器,还是有点区别的:使用NSTimer常常会不准时,因为它被添加到RunLo原创 2017-05-27 10:53:06 · 1053 阅读 · 0 评论 -
时间轴
# RMTimeLineDemoGitHub:https://github.com/LearnMoreAndBetter/RMTimeLineDemo简单的时间轴,和动态缓存高度这里用到了一个简单的思路,把时间轴的线条当做一条完整的线,然后通过scrollview的滚动,修改lineview的frame,这样就不需要在每一条cell中添加原创 2017-05-26 11:10:22 · 507 阅读 · 0 评论 -
ShareSDK分享以及所遇到的一些问题
GitHub:https://github.com/LearnMoreAndBetter/RMShareDemosdk下载,当前项目用的是简洁分享视图分享中遇到的一些问题简洁分享UI不显示图标 解决方法: 包含头文件#import 设置Style:[SSUIShareActionSheetStyle setShareActionSheetStyle原创 2017-05-23 17:10:44 · 827 阅读 · 0 评论 -
iOS重写父类中的方法时要先调用父类中的方法的原因
iOS重写父类中的方法时要先调用父类中的方法的原因转载 2016-05-19 11:40:27 · 7907 阅读 · 0 评论 -
上传图片
上传图片原创 2017-05-02 17:55:47 · 330 阅读 · 0 评论 -
iOS实现从后台切换到前台有毛玻璃效果
为了保护用户的隐私加入了后台毛玻璃效果(其实并没有什么卵用),怎么实现呢,其实很简单,只需要在appDelegate中写几行代码即可.1. OC版本首先声明一个变量 visualEffectView@property (strong, nonatomic)UIVisualEffectView *visualEffectView;- (UIVisualEffectView *)visualEffec原创 2017-07-12 10:36:38 · 987 阅读 · 0 评论 -
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 · 546 阅读 · 0 评论 -
iOS tableview SDWebImage加载多张图片内存警告(received memory warning)
最近项目中遇到一个问题在tableview上展示多张图片,在加载的过程中,图片过多时,加载几张图片就崩溃了。内存溢出为什么会出现这种情况这个原因其实很明显,SDWebImage产生的图片缓存过多,造成APP内存溢出,崩溃了。查了一些资料有三种解决方法1. 更改图片的大小,在tableview中展示缩略图,点击查看的时候显示原图。其中看到的一篇意思到了(传原创 2017-07-04 17:04:36 · 3531 阅读 · 0 评论 -
身份证银行卡类添加空格分割
- (void)textFieldDidChange:(UITextField *)textField { NSInteger textLength = textField.text.length; NSString *text = [textField text]; text = [text stringByReplacingOccurrencesOfString:@...原创 2019-05-10 16:17:44 · 455 阅读 · 0 评论 -
OC中因不同文件中C语言方法重名报错
今天发现,封装在私有库中的文件中有一个C语言方法,在项目中一个文件中同样定义了一个同名的C语言方法导致因C语言方法重名导致报错。原因:c语言没有namespace,即使在不同文件中,方法也不能重名。解决方案:1.功能相同的方法要抽到一个.c文件中实现。2. 用static修饰,就说明函数只是在该模块内被调用。3. 改为OC方法仅以记录...原创 2019-05-15 15:24:26 · 575 阅读 · 0 评论 -
内存泄漏以及内存排查技术分享
内存泄漏区分两个基本概念:·内存泄漏(memory leak):是指申请的内存空间使用完毕之后未回收。一次内存泄露危害可以忽略,但若一直泄漏,无论有多少内存,迟早都会被占用光,最终导致程序crash。(因此,开发中我们要尽量避免内存泄漏的出现)·内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间供其使用。通俗理解就是内存不够用了,通常在运行大型应...原创 2019-04-26 11:29:13 · 3122 阅读 · 0 评论 -
通信加密算法
1.通过简单的URLENCODE + BASE64编码防止数据明文传输2 对普通请求、返回数据,生成MD5校验(MD5中加入动态密钥),进行数据完整性(简单防篡改,安全性较低,优点:快速)校验。3 对于重要数据,使用RSA进行数字签名,起到防篡改作用。4 对于比较敏感的数据,如用户信息(登陆、注册等),客户端发送使用RSA加密,服务器返回使用DES(AES)加密。原因:客户端发送之所以使用RSA加密,是因为RSA解密需要知道服务器私钥,而服务器私钥一般盗取难度较大;原创 2018-03-10 23:39:41 · 7789 阅读 · 0 评论 -
iOS 设备是否越狱的判断代码
iOS 设备越狱检测转载 2017-10-09 10:40:35 · 1109 阅读 · 0 评论 -
iOS程序 防止动态调试
如何防止你的应用被GDB附加进程?转载 2017-10-09 09:40:09 · 2134 阅读 · 0 评论 -
使用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 · 504 阅读 · 0 评论 -
iOS 判断是否设置代理
只要是网络设置了代理,那么就禁止一切网络访问,这里记录一下如何判断是否设置了代理。 需要导入框架CFNetwork 然后,这个方法是mrc的:需要添加-fno-objc-arc的flag 代码如下:#import "CETCProxyStatus.h"@implementation CETCProxyStatus+ (BOOL)getProxyStatus { NSDictionary原创 2017-09-27 16:29:23 · 3195 阅读 · 0 评论 -
圆点view被切掉一块的bug
需要实现有新消息提醒时在title的右上角有红点提示,一个本来很简单的功能,但是遇到一个很奇葩的问题,有一个红点在6、6p上显示,红点的右边会有一点点被切平了,但是其他的几个红点是好的。真是一个很无语的bug啊 FUCK YOU MONEY 然后我就只能去跟这个bug,看看在3d视图显示上是啥样的,看了后发现,哈,真圆,圆的不能再圆了。原创 2017-08-10 10:07:28 · 500 阅读 · 0 评论 -
物理仿真中的圆形碰撞
在上一节中发现了个问题,几个球之间的碰撞看似是球与球之间的碰撞,实则是矩形之间的碰撞。这一节就解决这个问题。UIDynamics 的第一个版本带有碰撞系统只支持矩形。这可以理解,因为UIViews都是矩形架构,但是圆形的却不常见,更不用说优化一个自定义的贝塞尔曲线。在iOS 9中,UIDynamicItem协议里加了一个新属性:UIDynamicItemCollisionBoundsTyp原创 2017-06-27 14:53:00 · 716 阅读 · 0 评论 -
汉诺塔游戏和物理仿真
GitHub:https://github.com/LearnMoreAndBetter/DynamicDemo/* 汉诺塔游戏规则: 1、将盘子全部移动到塔C 2、每次只能移动一个圆盘; 3、大盘不能叠在小盘上面。 */1. 视图创建2. 递归算法实现功能原创 2017-06-26 17:15:44 · 552 阅读 · 0 评论 -
金额输入按照元角分格式,不需要输入小数点
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 · 2500 阅读 · 0 评论 -
textview字数限制
textview字数限制原创 2017-04-14 14:20:05 · 308 阅读 · 0 评论 -
五子棋的实现
直接看代码吧GitHub: https://github.com/LearnMoreAndBetter/GobangProject/tree/master原创 2017-04-18 16:11:57 · 364 阅读 · 0 评论 -
如何判断用户是否为第一次进入app或者是第一次进入指定页面
如何判断用户是否为第一次进入app或者是第一次进入指定页面原创 2016-08-31 11:03:37 · 19098 阅读 · 1 评论 -
17个提升iOS开发效率的必用工具
本文由CocoaChina译者@红茶魔术师-大红袍 翻译自netguru.co原文:17 Must Have Tools to Speed up Development in iOS作者介绍:Patryk Kaczmarek, iOS开发者毕业于波兹南工业大学,起初从事工业制造方面的工作,但最终决定转向iOS相关的专业开发。他视工作为转载 2016-09-02 11:26:47 · 313 阅读 · 0 评论 -
iOS 开发中的争议(一)--唐巧
这是该系列的第一篇,我想讨论的是:类的成员变量应该如何定义?在 Objective-C 的语言的早期,类的私有成员变量是只能定义在 .h 的头文件里面的。像如下这样:@interface ViewController : UIViewController { @private NSInteger _value;}转载 2016-09-02 11:40:11 · 313 阅读 · 0 评论 -
iOS 开发中的争议(二)--唐巧
这是该系列的第二篇。在本文中,我想讨论的是:对于 UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成?最早在网易开发 “ 有道云笔记 “ 的时候,我们是使用 xib 来制作界面的。三前年创业编写 “ 粉笔网 “ 的时候,我也是使用 xib 来转载 2016-09-02 11:36:53 · 310 阅读 · 0 评论