自我总结
LocationLu
这个作者很懒,什么都没留下…
展开
-
iOS代码判断工程是否有添加某个framework库
判断工程是否有添加某个framework库原创 2023-08-20 14:26:39 · 215 阅读 · 0 评论 -
iOS 解析闪退信息
iOS 解析闪退信息原创 2023-08-05 20:35:12 · 295 阅读 · 0 评论 -
iOS获取当前网络连接状态WiFi、5G、4G、3G、2G
iOS获取网络连接状态WiFi/5G/4G/3G/2G原创 2022-11-07 23:05:29 · 3036 阅读 · 0 评论 -
Xcode14&iOS16对开发者的影响
iOS16真机调试需要开启开发者模式,Xcode14编译出的Framework在Xcode低版本会编译报错,iOS14以下读取剪贴板内容需要引入SwiftUI库原创 2022-11-07 12:36:20 · 2548 阅读 · 0 评论 -
iOS替换应用图标
iOS动态替换应用图标&&OC、Swift无感替换图标原创 2022-11-04 00:47:46 · 2713 阅读 · 2 评论 -
正则表达式的使用
在项目中经常会要求用户输入一些信息,比如注册 登录 输入手机号,验证码,填写个人信息 如填写身份证等,有时候会输入错误,为了更好的提醒到用户,项目中用到了 正则匹配。 对于正则表达式的讲解可以参考此链接:正则表达式的使用在项目中用到了字符串分类,通过对输入的字符进行正则匹配#import <Foundation/Foundation.h>@interface NSString (Custom)ty原创 2017-04-16 19:10:47 · 400 阅读 · 0 评论 -
点击按钮实现缩放动画
前段时间在项目中使用到了 CAKeyframeAnimation ,利用帧动画实现点击按钮缩放动画!以下是自己的简单案例记录自定义一个按钮类 继承自UIButton#import <UIKit/UIKit.h>@interface CustomAnimationBtn : UIButton//执行动画- (void)playKeyAnimation;@end动画执行的方法:#import "C原创 2017-04-16 14:14:38 · 2395 阅读 · 0 评论 -
iOS端与网页之间的交互
在app中经常会加载一些网页,然后在网页上进行相应的操作,比如我们公司的项目加载了一遍网页文章,我要通过点击网页上的按钮通知我去调用我的app弹出分享模块,然后把这遍文章分享出去。实现的方式如下: 首先跟web前端约定好了一种协议,app端我负责监听网页给我发出通知协议,根据约定好的协议进行相应的操作AppDelegate 里面负责监听网页的进一步操作//从第三方app跳转到自己的app时调用-原创 2017-04-19 17:30:14 · 705 阅读 · 0 评论 -
app内置开机小游戏
像很多app都是在升级新版本后,一进入首页就有个类似抢红包的小游戏。之前我们公司为了新版本发布会,希望内置一个开机抢金币的小游戏,现在就记录一下实现的过程。首先 内置h5网页游戏 需要前端开发将做好的游戏打包成一个包,我们直接将游戏包拖到我们的项目中: 接下来就是需要获取网页游戏资源并加载到网页上 比如在首页控制器View将要展示的时候加载网页游戏- (void)viewWillAppear原创 2017-04-18 12:16:46 · 845 阅读 · 0 评论 -
银行卡输入每4位自动加空格
监听textField 输入值的变化[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldTextDidChangeAction:) name:UITextFieldTextDidChangeNotification object:nil];在通知方法中对输入的值进行改变如下:- (voi原创 2017-04-05 10:16:15 · 1097 阅读 · 0 评论 -
颜色Colours的使用
开发项目时,颜色的设置是常有的事,为了更好实现设计师的效果图各种颜色,在项目中使用了Colours这个别人写好的类进行设置颜色。 Colours 包含Colours.h和Colours.m文件 关于这两个文件可到gitHub上下载:Colours 如何使用 1.将Colours.h和Colours.m文件拖入到项目中; 2.在需要使用的地方导入头文件#import “Colours.原创 2017-04-17 22:48:32 · 683 阅读 · 0 评论 -
定时器被阻隔的处理方法
当一个页面上同时有UIScrollView 和定时器倒计时(图片轮播器)时,拖动UIScrollView,定时器会暂停,停止拖动UIScrollView,定时器恢复正常。这是什么原因导致呢? 原因就是定时器的runLoop级别没有UIScrollView 滚动的高 解决方法如下:[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLo原创 2017-04-17 20:30:00 · 804 阅读 · 0 评论 -
const在项目中的用途
看到很多项目中都会用到const,今天就总结了一下 const 是C语言内容,在ios开发中经常会用到,用途有点类似 define 宏定义,但跟宏定义还是有所不同的宏:宏定义属于预编译指令,在程序运行之前已经编译好了,在预编译之间进行文本间替换,相当于是开辟了一块临时空间。const:const修饰的只开辟一块空间,节约占用内存资源一般在项目中经常用到const 如下:在局部类中使用用static原创 2017-04-04 01:44:03 · 444 阅读 · 0 评论 -
UIWebView与iOS端交互
在iOS开发中少不了使用UIWebView,以下是自己使用的总结: 初始化webView 很简单自定义了一个WebVC控制器#import <UIKit/UIKit.h>@interface WebVC : UIViewController@property (nonatomic,copy) NSString *urlStr;@property (nonatomic,strong) UIWebV原创 2017-04-21 12:06:59 · 472 阅读 · 0 评论 -
NSHTTPCookie的使用
在项目中用UIWebView根据请求链接加载一篇文章,产品要求在导航栏上加一个分享按钮将这边文章分享出去,但是在当前的页面也就只能获取请求文章的链接,分享的模板需要有标题,子标题,还有图片,还有点开分享出去的跳转链接。后台不允许增加字段,跟前端开发大佬商量后,大佬介绍说试试通过请求链接拿到cookie中的数据,他会把要分享出去的内容加在cookie上,类似字典去获取,我第一次听到感觉是一脸懵逼的,后原创 2017-04-21 13:04:55 · 2096 阅读 · 0 评论 -
AFNetworking 请求工具类
在项目开发中 网络请求框架,当下使用人数最多的应该就是AFNetworking,AFN自3.0后全面使用session 请求网络数据. 这里附上AFN GitHub的下载地址:AFNetworking 为了更便捷的使用AFN,今天对AFN的使用进行了简单封装,如下创建一个类QCHttpTool继承自NSObject QCHttpTool.h 代码如下//// QCHttpTool.h//原创 2017-08-10 00:01:20 · 493 阅读 · 0 评论 -
.a静态库解包
在遇到导入第三方库运行发现xxx.o文件冲突。 为了查看导入的第三方库包里面包含的.o文件 具体操作如下: 在桌面创建一个resource文件夹,里面放一个libcrypto.a库 打开终端 cd 到 resource文件夹目录下cd /Users/luqichun/Desktop/resource 查看 libcrypto.a 支持什么架构lipo -info libcrypto.a显示支原创 2017-08-16 23:40:22 · 6542 阅读 · 0 评论 -
iOS静态库的创建跟使用
库:是代码的集合,是共享代码的一种形式,库分为开源库跟闭源库。开源库 公开源代码,能看到具体实现过程。 如:AFNetworking,SDWebImage 闭源库 不公开源代码,是经过编译后的二进制文件,看不到具体实现。 分为静态库跟动态库iOS中静态库以.a和.framework的形式存在,动态库以.dylib和.framework形式存在。 苹果禁止用户在项目中自己创建使用动态库,如原创 2017-05-21 16:28:24 · 466 阅读 · 0 评论 -
利用CAGradientLayer绘制颜色渐变动画
之前项目中,UI设计师要求金融理财模块做成如下效果图: 其中有涉及相应的动画 比如类似进度条图层颜色渐变动画,现将实现记录如下:图层颜色渐变主要通过CAGradientLayer这个类进行实现自定义一个控制器用来展示图层渐变动画 在此控制器中声明如下属性//开启动画@property (nonatomic,strong) UIButton *startAnimationBtn;//显示动原创 2017-05-10 16:28:08 · 2436 阅读 · 0 评论 -
methodSwizzling的使用
之前公司的项目,产品经理要求,在项目中,集成页面统计,项目主要集成的友盟页面统计,至于友盟统计集成可参照友盟官网集成。 以下主要记录的是methodSwizzling在项目中的使用 Method swizzling 用于改变一个已经存在的selector的实现。这项技术使得在运行时通过改变 selector 在类的消息分发列表中的映射从而改变方法的实现成为可能。 例如:我们想要在一款 iOS原创 2017-05-09 18:17:02 · 399 阅读 · 0 评论 -
WKWebView的使用
iOS8.0之后苹果推出了新框架Webkit,提供了WKWebView的组件,用来替换UIWebView。之前UIWebView 加载速度慢,占用内存大,如果加载的网页比较多,占用内存比较大可能还会导致项目crash。WKWebView在性能上有了很大的优化,占用内存小,允许JavaScript的Nitro库加载并使用,支持了更多的HTML5特性。WKWebView的使用 自定义一个WKWebVC原创 2017-04-26 14:02:22 · 803 阅读 · 0 评论 -
UUID跟UDID的区别
UDID UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识.UDID是一个40位十六进制序列,它就是跟设备相关联的,有点类似MAC地址,但在iOS5.0之后苹果就禁止开发者通过代码获取这个UDID。 不能通过代码获取UDID 但是我们还是可以通过其他途径查看到设备的UDID,iTunes获取UDID: 1.将手机设备连接上电脑 2.打开iTunes点击原创 2017-05-13 09:58:31 · 2379 阅读 · 0 评论 -
iOS10.0中info.plist文件权限设置
提到iOS10.0权限设置,先说一下在iOS9.0的权限设置iOS9.0引入了新特性App Transport Security (ATS),导致网络请求访问失败,新特性要求App内访问的网络必须使用HTTPS协议,也就是超文本传输协议。 但是现在很多公司使用的还是http协议,也不可能一下子就改为HTTPS;为了让http请求也能正常范文网络数据,解决的办法如下: 在info.plist文件中原创 2017-05-12 10:59:22 · 16893 阅读 · 0 评论 -
项目中导入字体库
UI设计的效果图字体项目自带的没有 通过:NSLog(@"familyNames --- %@",[UIFont familyNames]);可以查看自带的字体库有哪些将外部字体库导入项目中 后缀是otf,跟ttf的字体库 ios项目都是支持的将字体库文件直接拖到项目中,如下图: 再在info.plist 中增加字段Fonts provided by application 添加item原创 2017-04-01 00:19:29 · 930 阅读 · 0 评论 -
检测当前网络状态
在项目中用到的是网络请求框架是AFN在项目运行中检测网络连接状态,适当提醒用户当前网络连接状态,更加提高app的用户体验[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status原创 2017-03-31 23:54:19 · 477 阅读 · 0 评论 -
UINavigationController 界面跳转情况
解决 界面跳转的警告问题 从一个控制器的view 上跳转到另一个导航控制器时,以下代码出现警告 // [self presentViewController:naVC animated:YES completion:nil];warning 在tabbar里用presentViewController 会出现这个警告 要通过窗口将控制器放入到栈中进行跳转用此方法解决跳转界面警告 [s原创 2016-06-13 15:33:46 · 444 阅读 · 0 评论 -
NSLog 不执行
使用IQKeyBoardManager 出现控制器不能 执行自定义Log 和NSLog解决方式 NSLog 跟 IQKeyBoardManager 中的#define NSLog(…) 冲突了 将其注释了就好了原创 2016-05-30 10:09:10 · 758 阅读 · 0 评论 -
Cornerstone 报错或警告解决方式
SVN 源代码 The working copy is locked due to a previous error 解决方式 出现这种 错误 CornerStone 无法上传,也无法更新,错误提示被锁 在CornerStone找到本地代码工程—>右键—>点击clean 就可以了 项目 文件删除 后 “file missing”的警告解决方式:在Cornerstone 本地工程项目中原创 2016-05-30 09:30:01 · 2824 阅读 · 0 评论 -
子控件不能响应点击事件
以下是我遇到的问题以及解决方式 自定义一个UIView 在UIView上添加子控件 在将这个View赋值给tableViewHeaderView,发现view上的子控件都没发实现点击事件! 分析如下: 1.如果子控件是UIImageView, 默认是不能实现用户交互的,默认userInteractionEnabled = NO;要将设置为userInteractionEnabled = Y原创 2016-03-14 23:42:38 · 1286 阅读 · 0 评论 -
自定义Log
//自定义Logifdef DEBUG //… 可变参数// #define CZLog(…) NSLog(VA_ARGS)define QCLog(…) NSLog(@”%s %d \n %@ \n\n”,func,LINE, [NSString stringWithFormat:VA_ARGS]);elifdefine QCLog(…)endif 可以输出那一行 那个方法输出信息原创 2016-03-13 13:45:21 · 411 阅读 · 0 评论 -
PCH文件的使用
在项目中创建pch文件的好处,当有一些类/方法等需要再多处地方使用时,可以将类的头文件放在pch文件中,一些方法的实现放在定义在pch文件中,进行pch文件的简单设置这样就可以在多处地方直接使用这些类和方法。1.pch文件的创建 2.pch文件的设置 进行以上设置就可以在项目中使用了。原创 2016-03-09 20:46:14 · 425 阅读 · 0 评论 -
运用Xcode将项目打包成ipa
简单步骤: 右键项目工程,选择“打开方式”->“Xcode” 在Xcode中Build Settings ->Coding Signing Identity 中设置发布证书。 选择“Product”->”Edit Scheme…”打开如下界面 在“Build Configuration”中选择“Release”,单击”OK” 选择菜单栏中的”Product”->”Archive” 之后等原创 2016-03-08 23:16:57 · 570 阅读 · 0 评论 -
解决移动硬盘在电脑上不能读写的问题
1.首先准备好Paragon_NTFS_v12-2-313.dmg 双击打开 2.将圈中的软件拖进程序中进行安装 3.双击打开点击安装NTFS 4.默认安装 这样就安装好了!重启电脑,现在移动硬盘在苹果电脑上就可以实现读写了!原创 2016-03-18 23:13:30 · 2541 阅读 · 0 评论 -
CocoaPods安装及使用
CocoaPods简介:主要是用来管理第三库的,不需要手动去添加。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。CocoaPods作用: 导入第三方库 检测并且更新第三方库优点:无论是ARC的第三方还是MRC的第三方都可以通过cocoaPods统一管理,大大提高了工作效率安装CocoaPods 一般电脑首次安装都是需要替换本地的Rub原创 2016-03-05 13:31:10 · 414 阅读 · 0 评论 -
Xcode常用的快捷键
常用的快捷键总结 command + 1 跳转到显示的文件command + shift + y 弹出控制台option + click 快速分屏command + 0 隐藏左边command + n 新建文件command + shift + j 显示当前文件所在的位置command + [ 左 ] 右command + option + [ 上 ] 下command + 上 回到最上com原创 2016-03-05 11:13:25 · 295 阅读 · 0 评论 -
设置按钮圆角边框颜色及粗细
UIButton *iconView = [UIButton buttonWithImage:@”touxiang”]; iconView.layer.cornerRadius = iconView.w * 0.5;//按钮宽度的一半 iconView.layer.masksToBounds = YES; iconView.layer.borde原创 2016-07-28 07:19:18 · 2449 阅读 · 0 评论 -
倒计时定时器
项目要求 根据后台返回的时间戳 进行商品拍卖定时倒计时 后台返回的时间格式是:yyyy-MM-dd HH:mm:ss 写了一个时间转换工具将后台返回的时间字符串转换为指定的时间格式如下:+ (NSTimeInterval)timeIntervalSinceNowWithDateStr:(NSString *)dateStr { NSDateFormatter *formatter = [原创 2016-09-13 11:11:47 · 534 阅读 · 0 评论 -
导航栏侧滑手势返回
导航栏控制器View上自带了侧滑返回的手势,不过触发范围只能在左边导航控制器自带的滑动手势为:interactivePopGestureRecognizer 我的项目中全局使用的是自定义的导航控制器,通过以下几行简单的代码就能实现导航控制器滑动返回效果 首先:让我的导航控制器遵守滑动手势协议:UIGestureRecognizerDelegate 在push前做一些操作 遵守导航控制器协议UIN原创 2017-04-10 08:18:28 · 796 阅读 · 0 评论 -
状态栏的隐藏跟显示
隐藏状态栏有两种方式 第一种:只在当前控制器隐藏状态栏- (BOOL)prefersStatusBarHidden{ return YES;}第二种:整个项目隐藏状态栏 在info.plist上添加一项:Status bar is initially hidden,value为YES; 在info.plist上再添加一项:View controller-based status原创 2017-03-30 23:53:42 · 421 阅读 · 0 评论 -
app打包上架
今天刚好项目需要打包上架,随手截了几张图记录一下上架的流程 具体可以参照网上大佬的详细流程: 打包发布流程 1.首先需要准备证书 2.利用Xcode打包提交app store 进行审核 以下是指已经安装好证书的操作 2.1检查好代码运行无错无bug 利用Xcode 进行打包如下: 接下来在真机的环境进行打包 接下来点击export 到处ipa包你方便找到的位置 我原创 2017-04-07 00:38:27 · 479 阅读 · 0 评论