<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iOSZZZh的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iOSZZZh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iOSZZZh]]></copyright><item><title><![CDATA[常用工具mark]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/123452573</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/123452573</guid><author>iOSZZZh</author><pubDate>Sat, 12 Mar 2022 23:25:37 +0800</pubDate><description><![CDATA[数据库工具

http://www.sqlitebrowser.org/
]]></description><category></category></item><item><title><![CDATA[Protobuf 环境搭建及语法]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/123451744</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/123451744</guid><author>iOSZZZh</author><pubDate>Sat, 12 Mar 2022 22:46:52 +0800</pubDate><description><![CDATA[环境搭建及编译
	
    1.安装brew

ruby -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...]]></description><category></category></item><item><title><![CDATA[iOS 多环境配置]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/123319327</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/123319327</guid><author>iOSZZZh</author><pubDate>Sun, 06 Mar 2022 23:06:03 +0800</pubDate><description><![CDATA[project -&gt; info -&gt; Configurations
	
最初始 info -&gt; Configurations 里只有默认 Debug、Release 两种配置，和 Building Settings 里是对应的



在 Configurations 中增加配置 Test 环境




	设置不同环境下的宏定义
	


其中 DEBUG=1是默认存在的（可修改），这里对应关系如上图


	复制Target
	


复制两个target，并分别命名MoreEnviron...]]></description><category></category></item><item><title><![CDATA[KVO总结]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/123035251</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/123035251</guid><author>iOSZZZh</author><pubDate>Sun, 20 Feb 2022 20:36:42 +0800</pubDate><description><![CDATA[@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.]]></description><category></category></item><item><title><![CDATA[crash 日志符号化处理]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/122152597</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/122152597</guid><author>iOSZZZh</author><pubDate>Sun, 26 Dec 2021 10:49:08 +0800</pubDate><description><![CDATA[1、find /Applications/Xcode.app -name symbolicatecrash

找到symbolicatecrash 文件，复制导出到 1.crash（待解析文件） 同级路径

2、把符号表文件 dSYM 也放到同级路径。

3、export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Develo.]]></description><category></category></item><item><title><![CDATA[Charles使用]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/122094304</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/122094304</guid><author>iOSZZZh</author><pubDate>Wed, 22 Dec 2021 20:31:15 +0800</pubDate><description><![CDATA[1、连接同名wifi、设置代理（手动、IP（电脑ip）、端口 8888）

2、proxy -&gt;proxy Settings -&gt; 勾选 Enable transparent HTTP proxying

3、help -&gt; SLL proxying -&gt; Install Charles Root Ceritificate

  help -&gt; SLL proxying -&gt; Install Charles Root Ceritificate On a Mobi...]]></description><category></category></item><item><title><![CDATA[CocoaPods创建私有库，并发布]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/121091609</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/121091609</guid><author>iOSZZZh</author><pubDate>Tue, 02 Nov 2021 00:15:36 +0800</pubDate><description><![CDATA[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...]]></description><category></category></item><item><title><![CDATA[mac 显示隐藏文件]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/120479012</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/120479012</guid><author>iOSZZZh</author><pubDate>Sat, 25 Sep 2021 22:34:28 +0800</pubDate><description><![CDATA[1. command+space打开终端，输入


defaults write com.apple.finder AppleShowAllFiles -bool true   //此命令显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool false   //此命令关闭显示隐藏文件
复制代码

2. 在键盘按下option+command+esc，弹出正在运行的软件，选中Finder点击右下角的重启按钮。
...]]></description><category></category></item><item><title><![CDATA[自己的库上传 pod]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/117636893</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/117636893</guid><author>iOSZZZh</author><pubDate>Sun, 06 Jun 2021 23:10:02 +0800</pubDate><description><![CDATA[创建自己的库






]]></description><category></category></item><item><title><![CDATA[mac生成ssh key]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/117586811</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/117586811</guid><author>iOSZZZh</author><pubDate>Sat, 05 Jun 2021 09:43:38 +0800</pubDate><description><![CDATA[1、查看本地是否有ssh key

ls -al ~/.ssh

如果提示：No such file or directory，则没有。


]]></description><category></category></item><item><title><![CDATA[自定义弹框使用使用]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/116466045</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/116466045</guid><author>iOSZZZh</author><pubDate>Thu, 06 May 2021 23:58:59 +0800</pubDate><description><![CDATA[CommonPopView *popView = [[CommonPopView alloc] init];
contentView.ctionBlock = ^{
        [popView removeFromSuperview];
        //======
    };
    
    popView.contentView = contentView;
    popView.alpha = 0.3;
    popView.direction = PopViewFromDirec.]]></description><category></category></item><item><title><![CDATA[layer绘制方法]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/116465897</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/116465897</guid><author>iOSZZZh</author><pubDate>Thu, 06 May 2021 23:46:00 +0800</pubDate><description><![CDATA[//画线
-(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;
  .]]></description><category></category></item><item><title><![CDATA[RunLoop 细节总结]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/108392380</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/108392380</guid><author>iOSZZZh</author><pubDate>Thu, 03 Sep 2020 21:00:40 +0800</pubDate><description><![CDATA[1、主线程RunLoop，一般情况运行在 NSDefaultRunLoopMode 模式下，在滑动Scrollview 时候运行在UITrackingRunLoopMode 模式下。[runLoop addTimer:timer forMode:NSRunLoopCommonModes] ,NSTimer 添加到NSRunLoopCommonModes ，才能在上面的两种情况下都执行定时方法。

2、RunLoop有三种启动方式

- (void)run;

- (void)runUntilDate...]]></description><category></category></item><item><title><![CDATA[cocoapods 问题记录]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/106680673</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/106680673</guid><author>iOSZZZh</author><pubDate>Thu, 11 Jun 2020 09:27:46 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/sinat_27706697/article/details/49225303reactiveCocoa

https://developer.apple.com/download/more/xcode 各个版本



cocoapods 问题

https://www.jianshu.com/p/ab6411a05bc2

https://www.jianshu.com/p/164f309b54fe
]]></description><category></category></item><item><title><![CDATA[xcode 各版本下载地址]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/106658662</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/106658662</guid><author>iOSZZZh</author><pubDate>Wed, 10 Jun 2020 09:34:09 +0800</pubDate><description><![CDATA[xcode 各版本下载地址，收藏下

https://developer.apple.com/download/more/
]]></description><category></category></item><item><title><![CDATA[查询项目使用 UIWebView 地方]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/106534165</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/106534165</guid><author>iOSZZZh</author><pubDate>Wed, 03 Jun 2020 22:10:44 +0800</pubDate><description><![CDATA[1、终端进入项目文件夹

2、grep -r -F "UIWebView" .
]]></description><category></category></item><item><title><![CDATA[AudioQueue]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/105566760</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/105566760</guid><author>iOSZZZh</author><pubDate>Thu, 16 Apr 2020 20:57:15 +0800</pubDate><description><![CDATA[//========================= 播放 ==============================

// 所属类 AudioPlayer
AudioQueueRef mQueue;
AudioStreamBasicDescription mDataFormat;

//创建AudioQueue
AudioQueueNewOutput(&amp;mDataFormat, ...]]></description><category></category></item><item><title><![CDATA[技术博客收藏]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/105147314</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/105147314</guid><author>iOSZZZh</author><pubDate>Fri, 27 Mar 2020 18:20:50 +0800</pubDate><description><![CDATA[mark 一些比较好的总结！感谢分享



gcd 原理

https://www.jianshu.com/p/ea419f32a3a9

https://www.jianshu.com/p/a043da8424e8

FMDB

https://www.jianshu.com/p/3682795d3f38

https://www.jianshu.com/p/e5c6c21dd981

htt...]]></description><category></category></item><item><title><![CDATA[setneedsdisplay layoutifneeded setNeedsLayout]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/105115090</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/105115090</guid><author>iOSZZZh</author><pubDate>Thu, 26 Mar 2020 11:50:10 +0800</pubDate><description><![CDATA[1、setneedsdisplay : 用于 view 的重绘操作，会触发 view 的drawRect: 方法。

2、setNeedsLayout 和layoutIfNeeded 区别

setNeedsLayout
	标记为需要重新布局，异步调用layoutIfNeeded刷新布局，不立即刷新，在下一轮runloop结束前刷新，对于这一轮runloop之内的所有布局和UI上的更新只会刷...]]></description><category></category></item><item><title><![CDATA[iOS 隐式动画]]></title><link>https://blog.youkuaiyun.com/iOSZZZh/article/details/105101427</link><guid>https://blog.youkuaiyun.com/iOSZZZh/article/details/105101427</guid><author>iOSZZZh</author><pubDate>Wed, 25 Mar 2020 18:23:23 +0800</pubDate><description><![CDATA[修改 view 的非 root layer 的属性时会有默认动画效果（0.25秒）。


@interface CircleAction : NSObject&lt;CAAction&gt;
@property (nonatomic) CGFloat oldProgress;
@end

@implementation CircleAction

-(void)runActionForKey:(N...]]></description><category></category></item></channel></rss>