为什么我们要使用 RVM / Bundler ?

2018-12-22
阅读 5 分钟
4.1k
作为一名 iOS 工程师,cocoapods 是我们所不会陌生的。然而在我们的日常开发中,编写 cocoapods 的 Ruby 语言我们可能不甚了解,更不要说 Bundler 以及 RVM 了。因此,当我们遇到一些 Ruby 环境相关的问题时,可能完全不知道发生了什么。如果恰好你对这两个工具做了什么感到好奇,那么,在这篇文章中,我会尽量由浅入深...

搭建自己的博客 —— 关于域名设置

2017-11-20
阅读 6 分钟
5k
在搭建博客的过程中,按照我的想法,我只要直接把阿里云买的域名,用 CNAME 的方式指向 github pages 提供的域名就 OK 了。

从 iOS 的动画说到转场

2017-07-09
阅读 9 分钟
5.4k
所谓动画,就是在一段时间内,一些 view 的位置、颜色等属性会逐渐变化的一个现象。那么要完成一个动画,我们只需要确定三点:动画有多久、动画涉及到哪些 view 、这些 view 都有哪些属性改变了,说简单点儿就是时间、元素、变化形式。明确了这三点,各种 API 的变化只是在代码的简洁性和复用度上不停的做文章而已。

《Ruby 元编程》读后总结

2017-02-12
阅读 3 分钟
3.2k
在 Ruby 语法背后, Ruby 语言的构建模型。以及在这种模型下,一些可能只属于 Ruby 的实际编程案例(也就是怎么样用 Ruby 的特性去简化和优美你的代码)

iOS 中的代码签名(二)—— 代码签名的实际过程

2016-07-31
阅读 3 分钟
6.3k
在我们第一次打开 Xcode 的时候,Xcode 会在系统的钥匙串中添加苹果的『Apple Worldwide Developer Relations Certification Authority』,这个证书是被根证书信任的,这样我们就建立了可信的证书信任链。

iOS 中的代码签名(一)—— 数字签名基本概念

2016-07-24
阅读 2 分钟
4.6k
在阮一峰的文章中,貌似到这里就已经结束了,Z 是无论如何都无法窃取和修改 A、B 之间发送的信息了。然而实际情况并没有这么简单,在有了 CA 的情况下,Z 依旧可以去窃取 A、B 之间的信息。

Mac 上转移 Docker 宿主虚拟机的空间占用

2015-12-16
阅读 1 分钟
5.5k
由于 Mac 不能原生支持 docker,所以在 Mac 上都是使用 docker-client和一个 VM 中的装有 docker 的 Linux 系统进行沟通。然而一般 Mac 的空间都比较拙计,一旦使用了比较多的镜像可能就会占用很多空间,这个时候我们可能就会看到 VM 中的虚拟磁盘文件(vmdk)可能会有几十个 G。这个时候我们可以采取一些方法把这个文件...

如何在内部 Stash 服务器上添加 hook

2015-11-03
阅读 3 分钟
4.6k
所谓的 hook 就是存在于.git/hooks/ 目录下的一些脚本文件(shell、Python、Ruby、Perl 皆可),这些脚本文件可以在某些 git 操作执行之前或者之后触发,可以让开发者来自定义属于自己的工作流。比如我们可以在自己本地添加一个 hook 在我们每次提交 commit 信息以后执行,检查我们的 commit 信息是否符合规范,如果不规...

如何修改 git 记录?

2015-11-03
阅读 2 分钟
6.7k
如果仅仅是在提交之后发现自己手残了,用git commit --amend就可以修改刚才的那一次提交。该命令在执行以后,会将刚刚的那一次提交从当前分支移除,把工作空间恢复到上次准备提交的状态(同时混合了上次提交之后的更改),然后显示出一个 vim 的界面让你去修改上次的提交信息。在vim 中保存后,就会把当前的所有修改一并...

cocoapods 错误之满足不了需求

2015-08-17
阅读 2 分钟
2.9k
[!] Unable to satisfy the following requirements:\- 'A (=2.0)' required by 'Podfile'\- 'A' required by 'B'\- 'A (~> 1.4)' required by 'C (1.6)'

如何在 iOS 工程中使用 OpenCV?

2015-08-17
阅读 4 分钟
16.9k
OpenCV ,是一个开源的跨平台计算机视觉和机器学习库,通俗点的说,就是他给计算机提供了一双眼睛,一双可以从图片中获取信息的眼镜,从而完成人脸识别、去红眼、追踪移动物体等等的图像相关的功能。更多具体的说明可参见 OpenCV 官网。

聊聊Xcode 中的编译过程以及编译器

2015-08-16
阅读 3 分钟
24k
编译过程 基本的编译过程分为四个步骤: 预处理(Pre-process):把宏替换,删除注释,展开头文件,产生 .i 文件。 编译(Compliling):把之前的 .i 文件转换成汇编语言,产生 .s文件。 汇编(Asembly):把汇编语言文件转换为机器码文件,产生 .o 文件。 链接(Link):对.o文件中的对于其他的库的引用的地方进行引用...

workspace, project, target, scheme 解析

2015-08-16
阅读 3 分钟
7k
A workspace is an Xcode document that groups projects and other documents so you can work on them together. A workspace can contain any number of Xcode projects, plus any other files you want to include. In addition to organizing all the files in each Xcode project, a workspace provides implicit ...

OC 中,覆盖属性会有怎么样的化学反应?

2015-06-14
阅读 2 分钟
13.5k
在编写一个自定义相册的功能的时候,由于需要继承 UINavigationController写一个ImagePickerViewController,同时ImagePickerViewController又需要和其他的类进行沟通,所以很自然的,ImagePickerViewController类就需要有一个delegate属性,而且需要要求这个属性是一个实现了自定义的ImagePickerViewControllerDelegate...