ios上赶上过的题材集及解决方法(1)

kCFStreamErrorDomainSSL问题

/// 解决支付宝的安全信任难点!!!
@implementation NSURLRequest(DataController)

  • (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
    {
        return YES;
    }
    @end

 

我们做iOS 程序支付时日常用蒙受 EXC_BAD_ACCESS 错误造成 Crash,出现那种不当时相似 Xcode 不会给我们太多的新闻来定位错误来源,只是在使用 Delegate 上留下像Thread
1: Program received signal:”EXC_BAD_ACCESS”,让难点不许找起。

 

例如你对已释放的对象发送音讯时就会油不过生,EXC_BAD_ACCESS,再如release 的靶子再 release,release 那一个autorelease 的对象等也会报那样的错。默认设置下 Xcode 不会给您一贯具体是哪一行代码,不应该去选用已放出的靶子,或者release 用错了。

不过NSZombieEnabled 环境变量可以帮我们的忙,就是当设置NSZombieEnabled环境变量后,一个目的销毁时会被转化为_NSZombie,设置NSZombieEnabled后,当你向一个业已放出的对象发送音信,那一个目标就不会向前边那样Crash或者暴发一个麻烦了解的一言一动,而是放出一个张冠李戴音讯,然后以一种可预测的可以生出debug断点的点子没有
因而大家就足以找到切实可行或者大致是哪些目的被错误的放出了。 

Xcode 下设置 NSZombieEnabled 的方法:

您可以点击 Xcode 菜单 Product -> Edit Scheme-> Arguments,
然后将点击”加号”, 将 NSZombieEnabled 参数加到Environment Variables
窗口中, 后边的数值写上 ”YES”.

图片 1

 

 

抑或在 Xcode 菜单 Product -> EditScheme -> Diagnostics
设置窗口中直接勾上Enable
ZombieObjects 即可,Xcode 可用 cmd+shift+< 进到这些窗口。 

图片 2

 

末尾提示NSZombieEnabled只可以在调试的时候利用,千万不要忘记在产品揭橥的时候去掉,因为NSZombieEnabled不会真的去放活dealloc对象的内存,一贯打开后果总而言之,自重!

上面来一下国外的一种处理格局的贴图

图片 3

相关文章