ios
攻城狮Corn
这个作者很懒,什么都没留下…
展开
-
常用工具mark
数据库工具http://www.sqlitebrowser.org/原创 2022-03-12 23:25:37 · 4056 阅读 · 0 评论 -
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 · 3803 阅读 · 0 评论 -
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 · 1145 阅读 · 0 评论 -
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 · 1004 阅读 · 0 评论 -
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 · 1216 阅读 · 0 评论 -
CocoaPods创建私有库,并发布
1、创建 repo 私有库 (存放 spec)pod repo add[Private Repo Name] [GitHub HTTPS clone URL]eg:pod repo add ZHPrivateRepo git@github.com:cornZhou/ZHPrivateRepo.git【注释】ZHPrivateRepo 本地 repo 名称,git@github.com:cornZhou/ZHPrivateRepo.git远程 spec 库地址执行 pod repo li...原创 2021-11-02 00:15:36 · 530 阅读 · 0 评论 -
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 · 131 阅读 · 0 评论 -
自己的库上传 pod
创建自己的库原创 2021-06-06 23:10:02 · 358 阅读 · 1 评论 -
mac生成ssh key
1、查看本地是否有ssh keyls -al ~/.ssh如果提示:No such file or directory,则没有。原创 2021-06-05 09:43:38 · 566 阅读 · 0 评论 -
自定义弹框使用使用
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 · 103 阅读 · 0 评论 -
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 · 269 阅读 · 0 评论 -
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 · 252 阅读 · 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 · 140 阅读 · 0 评论 -
xcode 各版本下载地址
xcode 各版本下载地址,收藏下https://developer.apple.com/download/more/原创 2020-06-10 09:34:09 · 2667 阅读 · 1 评论 -
AudioQueue
//========================= 播放 ==============================// 所属类 AudioPlayerAudioQueueRef mQueue;AudioStreamBasicDescription mDataFormat;//创建AudioQueueAudioQueueNewOutput(&mDataFormat, ...原创 2020-04-16 20:57:15 · 262 阅读 · 0 评论 -
技术博客收藏
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 · 286 阅读 · 0 评论 -
setneedsdisplay layoutifneeded setNeedsLayout
1、setneedsdisplay : 用于 view 的重绘操作,会触发 view 的drawRect: 方法。2、setNeedsLayout 和layoutIfNeeded 区别setNeedsLayout 标记为需要重新布局,异步调用layoutIfNeeded刷新布局,不立即刷新,在下一轮runloop结束前刷新,对于这一轮runloop之内的所有布局和UI上的更新只会刷...原创 2020-03-26 11:50:10 · 841 阅读 · 0 评论 -
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 · 389 阅读 · 0 评论 -
信号量
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 · 192 阅读 · 0 评论 -
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 · 1125 阅读 · 1 评论 -
大端小端总结
什么是大端 / 小端?大端(存储)模式,是指低位保存在高地址,高位保存在低地址中小端(存储)模式,是指低位保存在低地址中,而高位保存在高地址中判断大小端方法1.定义变量int i=1;将 i 的地址拿到,强转成char*型,这时候就取到了 i 的低地址,这时候如果是1就是小端存储,如果是0就是大端存储。void judge_bigend_littleend2(){ ...原创 2020-03-02 15:31:43 · 519 阅读 · 0 评论 -
SD_WebImage 流程
SDWebImageManager:总调度类,内部有SDImageCache、SDWebImageDownloaderSDImageCache:处理内存、disk 的缓存SDWebImageDownloader:真正的下载管理者,内部有SDWebImageDownloaderOperation(NSOperation)、downloadQueue (NSOperationQueue)m...原创 2020-02-26 17:25:22 · 146 阅读 · 0 评论 -
处理手势冲突
例如:ViewController 侧滑返回手势 和 一个 向右侧滑控件(OpenDoorView)手势冲突。nav.interactivePopGestureRecognizer.delegate =ViewControllerViewController中重写代理:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gesture...原创 2020-02-26 15:46:30 · 324 阅读 · 0 评论 -
CALayer 动画原理
在CALayer的属性发生变化时会被调用,然后会根据对应的event来寻找一个遵循 CAAction协议的对象,寻找流程如下:如果CALayer的delegate存在并实现了 actionForLayer:forKey:方法,那么调用该方法寻找;从CALayer的actions字典中根据event为key值寻找;从CALyaer的style层级中的actions字典中根据event为key...原创 2020-01-09 17:08:45 · 327 阅读 · 0 评论 -
iOS AVCapture 摄像头技术总结
AVCaptureDevice: 信号采集硬件设备(摄像头、麦克风、屏幕等) AVCaptureInput: 设备输入信号 AVCaptureOutput:设备输出信号 AVCaptureSession:AVCaptureSession是整个Capture的核心。类似于RunLoop,它不断的从输入源获取数据,然后分发给各个输出源。 AVCaptureConnection:AVCaptur...原创 2020-01-07 22:02:06 · 1245 阅读 · 0 评论 -
解决 NSTimer 循环引用问题
1、NSProxy@implementation FirViewController- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor orangeColor]; self.navigationItem.leftBarButtonItem = [[...原创 2020-01-03 16:33:49 · 223 阅读 · 0 评论 -
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 · 246 阅读 · 0 评论 -
GCD 串行/并行、同步/异步 组合
串行/并行:决定怎么拿任务,串行 - 一个任务完成再拿下一个,并行 - 同时拿多个。同步/异步:决定怎么取线程,同步 - 不开新线程,异步:具备开多条线程能力同步、串行:一个一个执行,不开线程。同步、并行:一个一个执行,不开线程。异步、串行:一个一个执行,开一条线程。异步、并行:多个同时执行,开多条线程。- (void)viewDidLoad { [supe...原创 2019-12-22 14:36:58 · 420 阅读 · 0 评论 -
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 · 490 阅读 · 0 评论 -
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 · 326 阅读 · 0 评论 -
获取当前显示viewcontroller
+ (UIViewController *)currentTopPresentedViewController{ UIViewController *rootViewController = APPDelegate.window.rootViewController; UIViewController *currentVC = [self getCurrentVCFr...原创 2019-11-28 09:48:21 · 235 阅读 · 0 评论 -
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 · 178 阅读 · 0 评论 -
判断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 · 706 阅读 · 0 评论 -
git常用命令
git命令//远程新建分支git push origin debug:newBranch//======= 合并合并步骤:1、进入要合并的分支(如开发分支合并到master,则进入master目录)git checkout master//切换到master 分支git pull2、查看所有分支是否都pull下来了git branch -a//查询所有分支3、使用...原创 2019-07-09 11:19:18 · 332 阅读 · 0 评论 -
常用layer
一、CAEmitterLayerCAEmitterLayer是CoreAnimation框架中的粒子发射层,在以前的一片博客中有详细的介绍和范例,这里不再重复,地址如下:粒子效果的应用和火焰范例:http://my.oschina.net/u/2340880/blog/485095二、CAGradientLayerCAGradientLayer是用于...转载 2019-08-29 16:58:11 · 373 阅读 · 0 评论 -
多线程下载同一个文件(断点下载)
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 · 601 阅读 · 0 评论 -
UIView 坐标转换
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)convertPoint:(CGPoint)point from转载 2017-04-11 17:56:47 · 294 阅读 · 0 评论 -
对一个类里面的数组添加观察时注意问题
root是一个类,arr是root里面的一个数组//能触发观测者调用的方法 [[roo mutableArrayValueForKey:@"arr"] addObject:@"dddd"]; [[roo mutableArrayValueForKey:@"arr"] addObject:@"aaa"]; //不会触发观测者调用的方法 [roo.arr原创 2016-06-05 12:29:31 · 369 阅读 · 0 评论 -
iOS静态库.a的制作
简介什么是库?库是程序代码的集合,是共享程序代码的一种方式根据源代码的公开情况,库可以分为2种类型开源库公开源代码,能看到具体实现比如SDWebImage、AFNetworking闭源库不公开源代码,是经过编译后的二进制文件,看不到具体实现主要分为:静态库、动态库静态库和动态库静态库和动态库的存在形式静态库:.a和.framework...转载 2019-05-22 17:40:24 · 190 阅读 · 0 评论 -
NSMutableAttributedString
NSMutableAttributedString *attribute = [[NSMutableAttributedStringalloc] initWithString:@"12345"attributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:30]}]; [attribute appendAttributed原创 2016-03-16 18:43:47 · 260 阅读 · 0 评论