我们目前正在为 Android和iOS使用Cordova / PhoneGap(最新版本)开发移动应用程序.我们的应用程序的一个关键方面是它从不同的远程源(其中一个具有无效的SSL证书)检索数据.在确保正确设置所
是否存在用于忽略iOS中无效SSL证书的.plist设置?我在UIWebView中看到了一些代码,但我们不确定是否应修改该代码并冒险在其他地方破坏应用程序.
**编辑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的黄色文件夹中找到.