Matt Reach

「Stay Hungry, Stay Foolish」

macOS 上安装 CocoaPods

前面的博客里简单的介绍过 Ruby,我们也知道了如何安装 Ruby 写的程序库,今天要安装的是大名鼎鼎的 CocoaPods ,他也是使用 Ruby 写的! Install 如果没接触过 ruby 的话,最好是先来看下这篇博客里的名词解释 : 使用 Rake 重写打包脚本 使用 gem 命令安装即可 : sudo gem install cocoapods ;安装过程: 1 ...

源码分析 weak 对象自动置空原理

我们都知道 weak 修饰的变量,在对象释放后,会自动置为 nil,这一机制减少了大量的野指针崩溃;我们还知道在 dealloc 里不要 weak 修饰 self 对象,否则当对象 dealloc 时就会崩溃掉;一起看下源码实现吧! 下载源码 虽然 iOS 不是开源的,但是 OBJC 这部分代码是 Open的,下载地址 : objc4-709.tar.gz 。这是第二次阅读 ob...

在 dealloc 里使用 weak self 引起崩溃?

我们都知道 weak 修饰的变量,在对象释放后,会自动置为 nil,这一机制减少了大量的野指针崩溃;可是如果你在对象的 dealloc 里使用 weak 修饰 self 会如何呢 ?答案是崩溃 ~_~ 最近我们 SDK 在集成到某个 App 之后,就遇到了这样的问题,一起看下吧! 先看下解析后的崩溃日志吧: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

macOS 上安装 Jekyll

我的 MBP 重装回 macOS Sierra 之后,博客系统也就需要重新搭建了,因此趁这个机会,顺便整理下在 macOS 上安装 Jekyll 的详细过程。 检查 Ruby 版本 因为 Jekyll 是使用 Rake 编写的,所以最 Ruby 版本是有要求的,最新 3.5 则需要 Ruby 2.1.0 以上版本才行! ruby -v 1 2 ///我刚升级的2.2.6 ru...

使用 RVM 更新 Ruby 版本

我的 MBP 重装回 macOS Sierra 之后,系统自带的 Ruby 环境为 ruby 2.0.0p648 (2015-12-16 revision 53162),我要安装 Jekyll,其中一个 gem 对 Ruby 版本有要求,必须是 2.1.0 以后版本才行!(liquid requires Ruby version >= 2.1.0.)我选择了 RVM 管理 Rub...

使用 U 盘安装 macOS Sierra

由于 Mac 无法进入系统,已经分析出了原因 — 磁盘爆满的缘故,因此就想通过进入 PE 的方式,删除掉无用的文件,这样理论上就应该能够顺利进入系统了! 刻盘进 PE 在大学时期曾用 PE 装过 Windows,只不过几年不弄过了,于是就去网上下了 大白菜 PE,然后刻成启动盘,然后开始进入 PE 啦!在 Window 上进 PE 要按下 delete,然后选择从 U 盘启动,而 mac...

Fuck,Mac 无法进入系统了

今天擦桌子的时候顺便擦了下我的 MBP,为了不在擦的时候按下键盘误操作,所以在擦之前我把 Mac 关机了。等到下午没事开机时却遇到了个大大的问题:进度条走到百分之八十左右的时候卡住,卡一会之后就关机了!接着又试了好几次,还是不行,我有点慌了,此本追随我快三年了,可不能有个三长两短啊,于是赶忙开始在网上查找解决方法。 Rest 查找了好多的文章,总结起来就是以下三种方法 重...

使用 Rake 重写打包脚本

我最初的博客系统使用的是 Octopress,创建博客或者预览博客都是使用的 rake 命令,感觉很是方便,现在虽然直接使用了 Jekyll,但是这套命令还是被我移植过来继续使用着。之前我用 Shell 编写过一套打包的脚本,现在接触了 Ruby 脚本,对比之下感觉 Shell 这门语言太不友好了,编程效率很低,于是前天晚上开始学习 rake,边写边学边查资料,一步步的重写了这套打包脚...

iOS Framework 瘦身实战

近来业务增多,对应的 Framework 也越做越多,提供给搜狐视频的就多达 5个,物理包大小当然也越来越大了,因此查阅了资料,对 framework 进行瘦身! 工程配置 调试符号(Generate Debug Sysmbols) 这个是控制是否生成调试符号的,因此 debug 模式下保持使用 YES,release改为 NO;也就说我们平时调试还生...

Shell 编程 Tips

日常工作中,特别是我搭建远程打包环境的过程中用到了不少 Shell 命令,这里记录下,省得以后再去查询,浪费时间。 内置变量 以下结果来自 Mac OS 10.12,提示:这些内置变量是以美元符号开头的,内置变量也是变量,在 Shell 脚本里面取变量的值均需以美元符号开头。 $SHELL : 查看当前终端使用是哪种 shell: /bin/bash $HOME : ...