当前位置:  开发笔记 > 后端 > 正文

Cordova/PhoneGap iOS HTTPS/SSL问题

如何解决《Cordova/PhoneGapiOSHTTPS/SSL问题》经验,为你挑选了1个好方法。

我们目前正在为Android和iOS使用Cordova/PhoneGap(最新版本)开发移动应用程序.我们的应用程序的一个关键方面是它从不同的远程源(其中一个具有无效的SSL证书)检索数据.在确保正确设置所有.plist设置后(对于域白名单),我们的应用程序在iOS 5和6下都无法运行.在XCode或Safari的控制台中没有显示错误 - 它只是死了.Android应用程序可以正常工作,也可以在Web浏览器中本地工作.所以,几个问题:

是否存在用于忽略iOS中无效SSL证书的.plist设置?我在UIWebView中看到了一些代码,但我们不确定是否应修改该代码并冒险在其他地方破坏应用程序.



1> njtman..:

**编辑 3/13/14**

建议的方法是在您的设备中安装CA:通过电子邮件将CA发送到设备,点击电子邮件中的CA文件,然后将其导入安全存储区域.这将允许您的设备信任未签名的https连接,而无需下面显示的代码行.

请注意,虽然下面的解决方案可行,但它不安全,不推荐使用.在发布应用程序的生产版本之前,您必须删除这些代码行.如果不这样做,将导致应用程序不安全.建议不要使用此解决方案,因为人们可能忘记删除它.

**原始答案**

没有cordova plist设置.要在iOS中解决此问题,请将下面的代码附加到AppDelegate.m文件的末尾.

@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES;
}
@end

我过去曾在几个项目中使用它,并没有看到任何不良副作用.

AppDelegate.m文件可以在Xcode项目中标题为Classes的黄色文件夹中找到.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有