RestKit 0.2如何连接到无效的HTTPS安全证书

3
在RestKit 0.2中,我该如何允许我的应用连接到一个具有无效https安全证书的服务器?从AFNetworking文档中看来,我只需要#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_。但是,我已经将该命令添加到我的pch文件、构建设置>预处理器宏和我的应用程序委托中,所有这些都未能允许连接。有什么想法吗?

1
当我在子项目RestKit的Build Settings > Preprocessor Macros中添加了_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_,它最终忽略了证书。有什么想法为什么我必须将其放在子项目中,而不能在我的主项目中使用? - YoungDinosaur
你在哪里使用了 #define - Mike Mertsock
没事了,看起来你在问题中描述的#define是在你的应用代理中声明的。 - Mike Mertsock
3个回答

7
似乎唯一接受无效证书的方法是进入RestKit子项目,进入Build Settings> Preprocessor Macros并添加值_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_。然后需要清理您的项目。 我猜想由于RestKit子项目包含AFNetworking,因此在主项目中无法撤消某种预编译。因此,如果您在RestKit Build Settings中设置了标志,则RestKit将编译支持无效证书。否则,默认情况下不支持。

2
这是我看到的最接近解释的内容,但仍然不太合理。如果在主项目中设置allowsInvalidSSLCertificate属性只会忽略它,那么为什么这个属性会存在呢? - Kyle Clegg

6

选择Pods项目 > Build Settings > Preprocessor Macros,将_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 添加到Debug条目中。


0

如果您正在使用Pods,请确保将 _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 添加到 AFNetworking 子项目中,而不是 RestKit。 此外,您可能需要在 .plist 文件中修复 NSAppTransportSecurity 设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接