升级Xcode到8.x遇到的RSA加密报错

上次把Xcode升级到8.x,结果现在的项目报错了。在以前版本的xcode上项目编译都是没有任何问题的,现在更换了xcode 8.x,却出现了这样的内存空指针的问题。

出错的代码如下:

size_t outlen = SecKeyGetBlockSize(secKeyRef) * sizeof(uint8_t);

报错信息是:exc-bad-access …

参考stackoverflow上出现的相关问题,发现了解决之道:

选择项目Targets -> Capabilities -> Keychain Sharing开关打开。

再次运行,一切正常。

原因主要是钥匙串的共享属性没有打开,代码里面没能获取到钥匙串里面的加密信息,所以函数读取返回的时候nil了,所以获取nil对象的Size自然也就是exc-bad-access报错了。

好记性不如烂笔头。记上一笔,便于查阅。

文章来自 http://skymonkey.cn/

高能广告区

暂无广告哦=^^=。继续看看其它文章吧!