zhou的博客.

zhou的博客.

胡乱写点

SDWebImage源码阅读(上)

前言

SDWebImage
SDWebImage 想必对于每一个iOS开发者来说,都不会陌生。每当我们的项目中需要给UIImageView设置网络图片的时候,我们基本上第一个想到就是这个强大的第三方库。我们可以手动导入静态库,也可以直接用CocoaPod管理,只要简单地输入pod 'SDWebImage'即可导入,大家可以随意选择。
虽然在项目中经常用到这个库,但是有时候我们可能只是知道用,却并没有去了解下这个强大库实现原理,或者是写这个库的大佬代码思路、风格和各种技巧。这篇文章就是从SDWebImage一行行源码来分析大佬的神级操作。

SDWebImage流程示意图

SDWebImage流程示意图

HTTPS加密过程和TLS证书验证

前言

大家都知道,苹果在2016年WWDC上宣布了关于应用需要强制使用HTTPS的规定。这也算是个好消息吧,虽然开发者们可能需要适配下HTTPS,但是我们的应用可算是披上一个安全的保护罩了。本篇文章就算是笔者在学习HTTPS过程中的一个记录吧。

HTTPS加密过程

最近重新了解了下HTTPHTTPS: 首先二者都是网络传输协议;HTTPS在传输过程中是可以通过加密来保护数据安全的,以免用户敏感信息被第三方获取。 可以说HTTPSHTTP的升级版、安全版。下面我们就简单看下HTTPS的加密过程,先看下图。

Objective-C中的复制忍者卡卡西---NSProxy

是不是曾经在别人面前夸下海口:Objective-C中所有的类的基类都是NSObject;我之前也一直也这么以为的,但是认真看了下官方文档:

啪啪,好响,好疼~(看来英文水平也很重要啊……)
不卖关子了,我们今天要讨论的就是NSProxy。它是跟NSObject属于同一级别的类,是个抽象类,只是实现了<NSObject>的协议;

献给许许多多的忌日
哪有人喜欢孤独,只是不想失望罢了。 昨天又看遍《挪威的森林》,印象深刻的还是这句话。 ———————— 2017.12.21
测试下把hexo搬到自己电脑上
想法之前的hexo在公司的电脑上搭建的,这不,前不久自己忍痛买了台17款的MacBook Pro,所以,想把博客也搬过来。 思路原来hexo安装目录下的东西不动,直接在我的新电脑上重新安装个hexo,然后把新建的hexo文件目录下的配置文件按照之前的配置下,最后把之前电脑所有的文章(也就是md文件)和图片都拷贝到新blog目录下的“_posts”目录。终端生成静态文件和部署: 12hexo g -d 结果按照这个思路去做,结果是可行的,很快。
圣杯传奇
踏着英雄的足迹,在我们以为会发现邪恶的地方,找到了上帝。在以为杀害了他人的地方,我们杀害了自己。在以为走出去的地方,我们将回到自己存在的心中。在以为一切都完了的地方,我们却与整个世界在一起。 —-约瑟夫.坎贝尔 《神话的力量》
AppStore审核记录

记录一下上传AppStore出现的一些问题

1.公司名混淆

1
2
3
4
5
6
7
8
9
10
Guideline 5.2.1 - Legal - Intellectual Property


The seller and company names associated with your app do not reflect financial institution, as required by Guideline 5.2.1 of the App Store Review Guidelines.

Next Steps

Your app must be published under a seller name and company name that reflects financial institution. If you have developed this app on behalf of a client, please advise your client to add you to the development team of their Apple Developer account.

Once created, you cannot change your seller name or company name in iTunes Connect. For assistance with changing your company name or seller name, you will need to contact iTunes Connect through the Contact Us page. Select Getting Started from the first dropdown menu, then select General iTunes Connect Inquiry to contact the appropriate iTunes Connect team.
记一次CocoaPods的安装

前言


按照之前的一贯安装方法:

指定源:

1
2
3
4
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ sudo gem install cocoapods

结果报错如下:

1
2
3
4
ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://ruby.taobao.org/ - server did not return a valid file (https://ruby.taobao.org/latest_specs.4.8.gz)
ERROR: While executing gem ... (OpenSSL::SSL::SSLError)
hostname "gems.ruby-china.org" does not match the server certificate
The time has gone
勤勤恳恳让为先,庸庸碌碌小半生;大朗半世亦未任,也曾卧榻抱美人。