![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 54
瓜皮青年阿刚
每一个伟大的成功, 都有一个微不足道的开始
展开
-
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
升级到maxOS Big Sur和Xcode12.3之后,执行pod install总是报错Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2提示我们执行gem pristine ffi --version 1.12.2执行之后又会报错ERROR: While executing gem ... (Gem::FilePermissionError)原创 2021-01-21 10:36:11 · 6804 阅读 · 8 评论 -
Homebrew安装报错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused最近在通过命 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"安装Homebrew的时候总是出错,提示curl: (7) Failed to connect to raw.githubu原创 2020-10-20 12:39:12 · 403 阅读 · 0 评论 -
FBRetainCycleDetector深入解析
FBRetainCycleDetector是FaceBook开源的用于检测强引用循环的工具。默认是在DEBUG环境中启用,当然你也可以通过设置RETAIN_CYCLE_DETECTOR_ENABLED以始终开启。需要注意的是,FBRetainCycleDetector使用了私有API,会导致苹果审核失败,所以不建议始终开启。当我们拿到一个工具,并且知道它可以检测强引用循环,最关心的当然是如何使用它,所以第一步,我们先学习如何使用FBRetainCycleDetector。需要注意的是FBRetainCy原创 2020-06-24 16:30:39 · 4058 阅读 · 0 评论 -
数据库插入数据报错Unknown error finalizing or resetting statement (19: UNIQUE constraint failed:xxx.xxx)
PRIMARY Key: 唯一标识数据库表中的各行/记录。NOT NULL: 确保某列不能有 NULL 值UNIQUE: 确保某列中的所有值是不同的。当插入相同的值时会报错:Unknown error finalizing or resetting statement (19: UNIQUE constraint failed: tableName.key)例如以时间为主键,如果在相同的时插入多条数据,就会报这个错...原创 2020-06-11 15:18:12 · 1740 阅读 · 0 评论 -
iOS设置日志等级,解放控制台
背景开发中我们经常需要用到Log来调试问题,但我们也常常深受其害。开发新功能的时候,总是被一些乱七八糟的日志所干扰,找不到自己需要的日志信息。这个时候你一定想快速的屏蔽掉那些暂时不需要关心的Log。日志分级由此而生。日志分级我们可以把日志分为不同的等级,通过一个开关来控制打印哪些日志,从而屏蔽哪些暂时不关心的日志,解放控制台,让真正需要的信息干净的展示在我们面前。简单实现代码里有注释,就不再赘述了,直接使用我这套的同学,只需要创建一个头文件,按照顺序吧下面代码粘进去就行了。然后再适当的地方,调不同原创 2020-06-10 15:57:00 · 906 阅读 · 0 评论 -
iOS自定义UIActivity实现分享详解
我们在使用系统分享的时候,会发现有些平台系统分享是不支持的,比如你想分享到四个平台,系统支持三个,另一个不支持。这个时候我们可以通过自定义UIActivity将另一个平台加到系统分享中。UIActivity是个抽象类,我们需要继承他,实现他定义的方法。我们以分到Instagram为例,详细的说明具体实现过程。先来看一下效果,这里有两个Instagram,一个是系统的,一个是我自定义的(我这个图片...原创 2020-04-02 15:12:20 · 1929 阅读 · 0 评论 -
iOS本机号码一键登录
我们发现很多知名的App都有本机号码一键登录的功能,甚至你把他卸载了再安装,他依然能实现一键登录的功能,是不是感觉好方便,好想自己的App也有这个功能。那他们是怎么实现的呢?方案一:阿里云号码认证服务我们只需要集成阿里云的SDK,按照帮助文档,就可以轻松实现,授权页面是人家写好了,开发者可以在他的基础上修改。方案二:中国移动一键登录和阿里云的类似,也是需要集成SDK,按照帮助文档一步步...原创 2020-04-01 10:54:02 · 9056 阅读 · 0 评论 -
iOS内存泄漏的检测与修复(AFNetWorking内存泄漏)
什么是内存泄漏内存泄漏就是你申请了一份内存,但是由于某种原因,程序未释放或无法释放,造成系统内存的浪费。造成内存泄漏原因是什么现在一般都是ARC环境,所以造成内存泄漏的原因主要是强引用循环,还有就是添加的一些观察者没有解除观察。如何发现内存泄露即使我们在编写程序的时候格外注意了,但还是无法100%保证我们代码没有造成内存泄漏,这时候怎么检测呢?不要慌,苹果还是很贴心的,Xcode给我买提...原创 2020-03-31 16:23:53 · 751 阅读 · 0 评论 -
iOS关于启动时间的检测及优化
启动时间启动时间可谓是用户对你的App的第一印象,用户好不容易下载了App,然后饶有兴致的开打App,启动时间过长很可能会让用户直接把App打入冷宫。就算用户非常有耐心,苹果的watch dog机制也会kill掉启动时间过长的App,这种情况下给用户的感觉就是这App怎么一启动就卡死然后崩溃了,然后无情卸载。这里还要说一下,Xcode在debug模式下是没有开启watch dog的,所以不要以为...原创 2020-03-31 12:17:40 · 1623 阅读 · 0 评论 -
iOS 使用UITextField自定义搜索框 实现用户输入完之后“实时搜索”
UI小姐姐设计的搜索框经常是五花八门,系统的搜索框经常不能满足我们的需求,需要我们特别定制一个。但是UITextField的诸多回调里面,没有一个是适合触发搜索时间的。UITextFieldTextDidChangeNotification调用过于频繁,没输入一个字符就调一次接口怕是不太合适。UITextFieldTextDidEndEditingNotification只有在结束编辑的时候才...原创 2020-03-18 14:50:58 · 3404 阅读 · 0 评论 -
iOS循环播放背景音乐
iOS循环播放背景音乐相关宏定义#define kUserDefaults [NSUserDefaults standardUserDefaults]#define kAppDelegate ((AppDelegate*)[[UIApplication sharedApplication] delegate])static NSString...原创 2020-03-18 14:00:25 · 754 阅读 · 0 评论 -
iOS发送短信并设置短信内容
- (void)messageButtonEvent{ // 短信号码可以为空 NSString *phone = [NSString stringWithFormat:@"10086"];// 发短信的号码 NSString *content = @"祝愿你新春欢乐!合家欢乐!万事如意!百事顺心!幸福美满!吉星高照!花开富贵!迎福纳祥!四季发财!"; NSSt...原创 2019-12-30 16:25:24 · 855 阅读 · 0 评论 -
iOS倒计时动画
效果图制作成gif之后,帧率变快了,看起来很别扭,实际上是每秒执行一次的.h 文件@interface CountDownView : UIView@property (nonatomic, assign) long long time;@property (nonatomic, assign, readonly) long long remainTime;@end@inter...原创 2019-12-30 16:09:01 · 551 阅读 · 1 评论 -
iOS画虚线
CAShapeLayer *border = [CAShapeLayer layer]; // 虚线的颜色 border.strokeColor = kColorWithFloat(0xC9D4DE).CGColor; // 填充的颜色 border.fillColor = [UIColor clearColor].C...原创 2019-12-30 15:54:34 · 262 阅读 · 0 评论 -
iOS任意圆角与View渐变
开发中经常不规则圆角及渐变的需求,看着挺复杂,其实实现只需要几句代码。先看看效果图,右上角的View既包含不规则的圆角,又包含渐变,里面的按钮也包含渐变实现代码: self.totalView = [[UIView alloc] initWithFrame:CGRectMake(kScreenWidth-140, 20, 140, 38)]; // 渐变 CAG...原创 2019-12-30 15:47:14 · 747 阅读 · 1 评论 -
iOS内购被拒整理
Guideline 2.1 - Performance - App CompletenessWe found that while you have submitted in-app purchase products for your app, the in-app purchase functionality is not present in your binary.苹果说应用程序内购买...原创 2019-12-10 10:25:45 · 1132 阅读 · 0 评论 -
iOS 图片压缩
//压缩图片质量 +(UIImage *)reduceImage:(UIImage *)image percent:(float)percent { NSData *imageData = UIImageJPEGRepresentation(image, percent); UIImage *newImage = [UIImage i转载 2016-01-18 11:24:58 · 331 阅读 · 0 评论 -
Core Animation之多种动画效果
1、把图片移到右下角变小透明使用CAAnimationGroup叠加动画效果,就是下面按钮《把图片移到右下角变小透明》描述的效果: 、上面三个图是动画的三个状态,实现代码如下:[cpp] view plaincopy- (void)viewDidLoad { [super viewDidLo转载 2016-01-20 12:02:24 · 326 阅读 · 0 评论 -
时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone) -- IOS(实例)
NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能。Date对象是不可改变的。 如果你要创建date对象并表示当前日期,你可以alloc一个NSDate对象并调用init初始化:C代码 NSD转载 2016-01-20 12:08:44 · 477 阅读 · 0 评论 -
IOS开发之----常用加密方法(AES、MD5、Base64)
1、AES加密NSData+AES.h文件// // NSData-AES.h // Smile // // Created by Gary on 12-11-24. // Copyright (c) 2012年 BOX. All rights reserved. // #import转载 2016-01-20 14:59:20 · 620 阅读 · 0 评论 -
iOS 键盘类型
一、键盘风格 UIKit框架支持8种风格键盘。typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPun转载 2016-01-06 14:36:32 · 697 阅读 · 0 评论 -
iOS下微信语音播放之切换听筒和扬声器的方法解决方案
iOS下微信语音播放之切换听筒和扬声器的方法解决方案[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应 //添加监听[[NSNotificationCenter defaultCenter] addObserver:self转载 2016-01-08 15:11:39 · 1269 阅读 · 0 评论 -
打电话、发短信、发邮件常用代码
打电话、发短信、发邮件常用代码+ (void) makeCall:(NSString *)phoneNumber{ if ([DeviceDetection isIPodTouch]){ [UIUtils alert:kCallNotSupportOnIPod]; return; } NSString* nu转载 2016-01-08 15:14:35 · 749 阅读 · 0 评论 -
红外自动切换播放语音听筒
本文实现的功能描述:在播放语音的时候,如果手机贴近耳朵,切换听筒播放,当离开耳朵附近时切换为扬声器播放;具体如下:- (void) openProximityMonitor { [selfcloseProximityMonitor]; [[NSNotificationCenterdefaultCenter]addObserver:self转载 2016-01-29 18:08:38 · 394 阅读 · 0 评论 -
判断NSString 是否为数字
//判断是否为整形:- (BOOL)isPureInt:(NSString*)string{ NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan scanInt:&val] && [scan isAtEnd];}//判断是否为浮点形:- (BOOL)isPureF转载 2016-01-29 18:16:34 · 374 阅读 · 0 评论 -
微信登录授权开发
微信登录授权开发1,到微信开发平台注册相关APP,现在是等待审核成功后才能获取到对应的key和secret;获取成功后需要单独申请开通登录和支付接口,如图2,和QQ类似,需要填写Url Schemes,如demo中的wxd930ea5d5a258f4f ,然后引入相应framework;3,在AppDelegate中注册和实现授权后的回调函数,代码如下://向微信注册转载 2016-02-01 11:42:53 · 2422 阅读 · 0 评论 -
常用正则表达式
IOS常用正则表达式正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)转载 2016-02-02 18:37:38 · 318 阅读 · 0 评论 -
用AFNetworking3.0封装网络请求
前言由于之前一直是用别人封装好的网络请求,一来版本太旧,二来觉得太臃肿很多功能代码不知道是干嘛的,所以想尝试自己封装一个网络请求,可能比较简单比较入门,很多问题肯定考虑不周,而且网上关于AFNetworking3.0库的教程也不多,所以大家当成3.0的小教程就好。配置AFNetworking环境AFNetworking更新了3.0,之前的工程一直用的2.63。这两个版本变化还是比较大的转载 2016-02-03 10:33:31 · 820 阅读 · 0 评论 -
iOS微信第三方登录实现
iOS微信第三方登录实现注意:代码自己动手写,不要复制!一、接入微信第三方登录准备工作。移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。(注意)1转载 2016-02-03 12:21:19 · 4831 阅读 · 1 评论 -
ios UIWebView截获html并修改便签内容
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果; 方法:通过js截获UIWebView中的html,然后修改html标签内容; 实例代码: 服务器端html代码 "Content-Type" content="text/html; charset=utf-8"> "viewport" c转载 2016-02-03 17:32:47 · 292 阅读 · 0 评论 -
字符串去空格
1.去掉两端的空格[cpp] view plain copy print?[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] 2.去掉多余的空格[cpp] view plain copy print?转载 2016-02-17 10:08:27 · 400 阅读 · 0 评论 -
获取中文字符串的拼音
汉子转拼音原创 2016-01-29 18:42:46 · 565 阅读 · 0 评论 -
iOS 7系列译文:忘记NSURLConnection,拥抱NSURLSession吧!
说到 iOS 7 和 Mac OS X 10.9 Mavericks 的显著变化,其中一个就是Foundation框架中URL加载系统的优化。 此时可能有人正沉浸在Apple的网络基础架构,我想在这里分享一下我对这些新APIs的看法,并展示这些新APIs如何改变我们构建应用程序的方式,以及这些它们在API设计理念演变中的意义。 作为Core Foundation / CFNet转载 2016-02-17 16:25:20 · 435 阅读 · 0 评论 -
iOS的影片播放 MediaPlayer 和 AVPlayer
在iOS開發上,如果遇到需要播放影片,如開機動畫…,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去。但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現。所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動。所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作。備註:MediaPlayer的影片是放在U转载 2016-02-19 11:45:10 · 6337 阅读 · 0 评论 -
iOS 实现摇一摇功能
//微信的摇一摇是怎么实现的~发现原来 ios本身就支持//在 UIResponder中存在这么一套方法 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); - (void)motionEnded:(UI转载 2016-02-19 16:20:51 · 347 阅读 · 0 评论 -
从视频中获取每一帧图片(包括第一帧)
1. iphone ios取出视频的每一帧图片 [mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)]] completionHandler:转载 2016-02-19 18:48:02 · 16776 阅读 · 0 评论 -
ios 发短息 发邮件 打电话
官方代码发短息和邮件添加MessageUI.framework 库发送信息- (IBAction)showSMSPicker:(id)sender{ // You must check that the current device can send SMS messages before you // attempt to create an instance转载 2016-03-18 15:27:30 · 526 阅读 · 0 评论 -
图片圆角造成界面不流畅问题
在iOS的世界,圆角无处不在,而且必须存在。因为圆角是符合人类视觉安全体验的,圆角让人觉得舒适,而方角在潜意识层次是具有伤害体验的,因为尖尖的东西总是有可能对人造成伤害的,所以我们更喜欢圆角。在我之前的文章中讲过,在iOS的中设置圆角是非常容易的一件事情,这也体现出苹果也是非常重视圆角这件事情的。圆角虽好,但如果使用不当,它就是你的帧数杀手,特别当它出现在滚动列表的时候。下面来看圆角如何毁掉你转载 2016-03-23 10:51:37 · 578 阅读 · 0 评论 -
view.layer.shouldRasterize = YES(光栅化)的使用 及图片性能整理
/* When true, the layer is rendered as a bitmap in its local coordinate * space ("rasterized"), then the bitmap is composited into the * destination (with the minificationFilter and magnif原创 2016-03-23 10:42:00 · 6927 阅读 · 0 评论 -
关于支付宝SDK导入报错的解决办法
最近在做支付宝支付,导入SDK时,经常会报错,今天整理了一下方便以后使用:一、导入ALiPaySDk,预编译一下,这是会发现会有好多错误二、建立pch文件,如果已有不需要新建,在pch 中导入头文件#import设置PCH文件三、按照支付宝文档导入所需要的依赖库SystemConfiguration.frameworkCoreTelephon转载 2016-04-26 15:50:13 · 2342 阅读 · 0 评论