自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 常用工具mark

数据库工具http://www.sqlitebrowser.org/

2022-03-12 23:25:37 4024

原创 Protobuf 环境搭建及语法

环境搭建及编译 1.安装brewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"执行这一步的时候可能会error443 connect报错,则用下面方法安装/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/home...

2022-03-12 22:46:52 3754

原创 iOS 多环境配置

project -> info -> Configurations 最初始 info -> Configurations 里只有默认 Debug、Release 两种配置,和 Building Settings 里是对应的在 Configurations 中增加配置 Test 环境 设置不同环境下的宏定义 其中 DEBUG=1是默认存在的(可修改),这里对应关系如上图 复制Target 复制两个target,并分别命名MoreEnviron...

2022-03-06 23:06:03 424 1

原创 KVO总结

@interface KvoOperation : NSOperation@property (nonatomic, getter=isFinished) BOOL finished;@property (nonatomic, strong) NSString *k;@property (nonatomic, strong) NSMutableArray *mutArr;-(void)insertObject:(id)object inMutArrAtIndex:(NSInteger)ind.

2022-02-20 20:36:42 1123

原创 crash 日志符号化处理

1、find /Applications/Xcode.app -name symbolicatecrash找到symbolicatecrash 文件,复制导出到 1.crash(待解析文件) 同级路径2、把符号表文件 dSYM 也放到同级路径。3、export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developerexport DEVELOPER_DIR=/Applications/Xcode.app/Contents/Develo.

2021-12-26 10:49:08 979

原创 Charles使用

1、连接同名wifi、设置代理(手动、IP(电脑ip)、端口 8888)2、proxy ->proxy Settings -> 勾选 Enable transparent HTTP proxying3、help -> SLL proxying -> Install Charles Root Ceritificate help -> SLL proxying -> Install Charles Root Ceritificate On a Mobi...

2021-12-22 20:31:15 1190

原创 CocoaPods创建私有库,并发布

1、创建 repo 私有库 (存放 spec)pod repo add[Private Repo Name] [GitHub HTTPS clone URL]eg:pod repo add ZHPrivateRepo [email protected]:cornZhou/ZHPrivateRepo.git【注释】ZHPrivateRepo 本地 repo 名称,[email protected]:cornZhou/ZHPrivateRepo.git远程 spec 库地址执行 pod repo li...

2021-11-02 00:15:36 466

原创 mac 显示隐藏文件

1. command+space打开终端,输入defaults write com.apple.finder AppleShowAllFiles -bool true //此命令显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool false //此命令关闭显示隐藏文件复制代码2. 在键盘按下option+command+esc,弹出正在运行的软件,选中Finder点击右下角的重启按钮。...

2021-09-25 22:34:28 108

原创 自己的库上传 pod

创建自己的库

2021-06-06 23:10:02 318 1

原创 mac生成ssh key

1、查看本地是否有ssh keyls -al ~/.ssh如果提示:No such file or directory,则没有。

2021-06-05 09:43:38 534

原创 自定义弹框使用使用

CommonPopView *popView = [[CommonPopView alloc] init];contentView.ctionBlock = ^{ [popView removeFromSuperview]; //====== }; popView.contentView = contentView; popView.alpha = 0.3; popView.direction = PopViewFromDirec.

2021-05-06 23:58:59 82

原创 layer绘制方法

//画线-(CAShapeLayer *)drawLineFromPoint:(CGPoint)p1 toPoint:(CGPoint)p2 width:(CGFloat)w color:(UIColor *)c{ CAShapeLayer *layer = [CAShapeLayer layer]; layer.lineWidth = w; // layer.fillColor = c.CGColor; layer.strokeColor = c.CGColor; .

2021-05-06 23:46:00 251

原创 RunLoop 细节总结

1、主线程RunLoop,一般情况运行在 NSDefaultRunLoopMode 模式下,在滑动Scrollview 时候运行在UITrackingRunLoopMode 模式下。[runLoop addTimer:timer forMode:NSRunLoopCommonModes] ,NSTimer 添加到NSRunLoopCommonModes ,才能在上面的两种情况下都执行定时方法。2、RunLoop有三种启动方式- (void)run;- (void)runUntilDate...

2020-09-03 21:00:40 230 1

原创 cocoapods 问题记录

https://blog.csdn.net/sinat_27706697/article/details/49225303reactiveCocoahttps://developer.apple.com/download/more/xcode 各个版本cocoapods 问题https://www.jianshu.com/p/ab6411a05bc2https://www.jianshu.com/p/164f309b54fe

2020-06-11 09:27:46 120

原创 xcode 各版本下载地址

xcode 各版本下载地址,收藏下https://developer.apple.com/download/more/

2020-06-10 09:34:09 2558 1

原创 查询项目使用 UIWebView 地方

1、终端进入项目文件夹2、grep -r -F "UIWebView" .

2020-06-03 22:10:44 1356

原创 AudioQueue

//========================= 播放 ==============================// 所属类 AudioPlayerAudioQueueRef mQueue;AudioStreamBasicDescription mDataFormat;//创建AudioQueueAudioQueueNewOutput(&mDataFormat, ...

2020-04-16 20:57:15 232

原创 技术博客收藏

mark 一些比较好的总结!感谢分享gcd 原理https://www.jianshu.com/p/ea419f32a3a9https://www.jianshu.com/p/a043da8424e8FMDBhttps://www.jianshu.com/p/3682795d3f38https://www.jianshu.com/p/e5c6c21dd981htt...

2020-03-27 18:20:50 262

原创 setneedsdisplay layoutifneeded setNeedsLayout

1、setneedsdisplay : 用于 view 的重绘操作,会触发 view 的drawRect: 方法。2、setNeedsLayout 和layoutIfNeeded 区别setNeedsLayout 标记为需要重新布局,异步调用layoutIfNeeded刷新布局,不立即刷新,在下一轮runloop结束前刷新,对于这一轮runloop之内的所有布局和UI上的更新只会刷...

2020-03-26 11:50:10 785

原创 iOS 隐式动画

修改 view 的非 root layer 的属性时会有默认动画效果(0.25秒)。@interface CircleAction : NSObject<CAAction>@property (nonatomic) CGFloat oldProgress;@end@implementation CircleAction-(void)runActionForKey:(N...

2020-03-25 18:23:23 369

转载 id instancetype NSObject *的区别

id和instancetype都可以做方法的返回值。 id类型的返回值在编译期不能判断对象的真实类型,即非关联返回类型,instancetype类型的返回值在编译期可以判断对象的真实类型,即关联返回类型。 id可以用来定义变量, 可以作为返回值, 可以作为形参,instancetype只能用于作为返回值。 使用id修饰的对象是动态类型,编译器在编译期不会去判断其真...

2020-03-24 21:07:25 166

原创 FMDB 使用详解 mark

https://www.jianshu.com/p/67afbcf32808https://blog.csdn.net/huanghuanghonghong/article/details/51203540https://www.jianshu.com/p/7958d31c2a97感谢上面的总结,mark 一下

2020-03-20 21:12:31 165

原创 信号量

dispatch_semaphore_create(long value); // 创建信号量dispatch_semaphore_signal(dispatch_semaphore_t deem); // 发送信号量dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); // 等待信号量...

2020-03-10 14:24:25 171

原创 python 修改文件名称或md5值

一、修改文件前缀(JH-->Jneth)import os//需要修改的类名前缀 (需替换)pre_str = 'JH'// 新的类名前缀 (需替换)pre_to_str = 'Jneth'// 搜寻以下文件类型 (根据自己需求替换)suf_set = ('.h', '.m', '.xib', '.storyboard', '.mm')// 项目路径 (找到自己的项目路...

2020-03-09 19:18:32 1073 1

原创 大端小端总结

什么是大端 / 小端?大端(存储)模式,是指低位保存在高地址,高位保存在低地址中小端(存储)模式,是指低位保存在低地址中,而高位保存在高地址中判断大小端方法1.定义变量int i=1;将 i 的地址拿到,强转成char*型,这时候就取到了 i 的低地址,这时候如果是1就是小端存储,如果是0就是大端存储。void judge_bigend_littleend2(){ ...

2020-03-02 15:31:43 499

原创 SD_WebImage 流程

SDWebImageManager:总调度类,内部有SDImageCache、SDWebImageDownloaderSDImageCache:处理内存、disk 的缓存SDWebImageDownloader:真正的下载管理者,内部有SDWebImageDownloaderOperation(NSOperation)、downloadQueue (NSOperationQueue)m...

2020-02-26 17:25:22 127

原创 处理手势冲突

例如:ViewController 侧滑返回手势 和 一个 向右侧滑控件(OpenDoorView)手势冲突。nav.interactivePopGestureRecognizer.delegate =ViewControllerViewController中重写代理:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gesture...

2020-02-26 15:46:30 303

原创 CALayer 动画原理

在CALayer的属性发生变化时会被调用,然后会根据对应的event来寻找一个遵循 CAAction协议的对象,寻找流程如下:如果CALayer的delegate存在并实现了 actionForLayer:forKey:方法,那么调用该方法寻找;从CALayer的actions字典中根据event为key值寻找;从CALyaer的style层级中的actions字典中根据event为key...

2020-01-09 17:08:45 304

原创 iOS AVCapture 摄像头技术总结

AVCaptureDevice: 信号采集硬件设备(摄像头、麦克风、屏幕等) AVCaptureInput: 设备输入信号 AVCaptureOutput:设备输出信号 AVCaptureSession:AVCaptureSession是整个Capture的核心。类似于RunLoop,它不断的从输入源获取数据,然后分发给各个输出源。 AVCaptureConnection:AVCaptur...

2020-01-07 22:02:06 1186

原创 解决 NSTimer 循环引用问题

1、NSProxy@implementation FirViewController- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor orangeColor]; self.navigationItem.leftBarButtonItem = [[...

2020-01-03 16:33:49 191

原创 GCD 串行/并行、同步/异步 组合

串行/并行:决定怎么拿任务,串行 - 一个任务完成再拿下一个,并行 - 同时拿多个。同步/异步:决定怎么取线程,同步 - 不开新线程,异步:具备开多条线程能力同步、串行:一个一个执行,不开线程。同步、并行:一个一个执行,不开线程。异步、串行:一个一个执行,开一条线程。异步、并行:多个同时执行,开多条线程。- (void)viewDidLoad { [supe...

2019-12-22 14:36:58 394

原创 clang 报错处理

clang -rewrite-objc main.m可能报错:main.m:9:9: fatal error: 'UIKit/UIKit.h' file not found下面是在网上其他大神记录的,亲测可用!指定真机xcrun -sdk iphoneos clang -rewrite-objc main.m指定模拟器xcrun -sdk iphonesimul...

2019-12-20 20:11:13 453

原创 iOS 文章收藏

mark 一下RunTimehttps://www.jianshu.com/p/6ebda3cd8052clanghttps://www.jianshu.com/p/513a9bd35a7drunloophttp://www.cocoachina.com/articles/23380https://www.jianshu.com/p/46435c6a63afhttp...

2019-12-14 16:26:49 233

原创 Block 原理

int main(int argc, char * argv[]) { @autoreleasepool { void (^block)(void) = ^{ NSLog(@"Hello World!"); }; block(); //return UIApplicationMain(argc, ar...

2019-12-11 21:16:08 303

原创 获取当前显示viewcontroller

+ (UIViewController *)currentTopPresentedViewController{ UIViewController *rootViewController = APPDelegate.window.rootViewController; UIViewController *currentVC = [self getCurrentVCFr...

2019-11-28 09:48:21 215

转载 ReactiveCoacoa ,pod 引用

1.如果你只是纯 swift 项目,你继续使用 ReactiveCocoa 。但是 RAC 依赖于 ReactiveSwift ,等于你引入了两个库。这种情况下的podfile的文件如下: use_frameworks! target 'Target名称' do #use_frameworks! pod 'ReactiveCocoa', '5.0.0-...

2019-11-13 14:10:38 150

转载 多线程下载同一个文件(断点下载)

HTTP Range的示例通过设置Range可以指定每次从网路下载数据包的大小Range示例bytes=0-499 从0到499的头500个字节bytes=500-999 从500到999的第二个500字节bytes=500- 从500字节以后的所有字节bytes=-500 最后500个字节bytes=500-599,800-899 同时指定几个范围Range小结- 用于分隔前...

2019-09-04 22:02:05 578

转载 常用layer

一、CAEmitterLayerCAEmitterLayer是CoreAnimation框架中的粒子发射层,在以前的一片博客中有详细的介绍和范例,这里不再重复,地址如下:粒子效果的应用和火焰范例:http://my.oschina.net/u/2340880/blog/485095二、CAGradientLayerCAGradientLayer是用于...

2019-08-29 16:58:11 342

原创 xcode免证书调试

最近在开发react-native项目,发现仅仅使用xcode模拟器不行,有的时候还要在手机上运行测试才行,此时我们又没有证书,所以有了此篇教程无线打包运行放在最后打开 xcode -> preferences2.png切换到accounts -> 点击左下角添加Apple ID -> 输入自己的apple ID -> 验证完成之后选中自己的apple...

2019-08-26 11:00:36 595

原创 判断observer 观察了哪些keyPath

@interface ObjTest1 : NSObject@property (nonatomic, copy) NSString *name;@property (nonatomic, copy) NSString *path;@end@implementation ObjTest1@end@interface ObjTest2 : NSObject@end@i...

2019-08-03 13:51:07 676

AAC编解码,faac faad

AAC编解码,faac faad

2023-02-06

DB查看工具,mac OS版

DB查看工具,mac OS版

2022-08-21

自定义弹框控件.zip

支持上下左右不同方向弹出,支持停留在不同位置(系数可设置)。

2021-05-06

空空如也

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

TA关注的人

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