在IOS中让Titaninum 的Webview 正常访问自己颁发的证书的https页面

在IOS中让Titaninum 的Webview 正常访问自己颁发的证书的https页面

如果我们要在 Ti 的Webview 中打开 https .如果证书是自己颁发的话 默认是无法打开的,目前Ti 3.2.2 版本也存在这个BUG

跟着我做来改正一下吧
1. 我的SDK版本是3.2.2.GA 因此下面的都是修改该版本下的文件,如果你是其他版本 将下面的路径改一下版本号即可。

cd /Users/qijun/Library/Application Support/Titanium/mobilesdk/osx/3.2.2.GA/iphone/Classes

qijun 乃我的系统登录名 ,请更换成你自己的

2. vim/vi 打开文件TiUIWebView.m 查找 “@implementation TiUIWebView ” 并且在此行之上添加如下代码:

//=========== yangqijun.com

@interface NSURLRequest (DummyInterface)

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;

+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;

@end
//================

3.查找 “setUrl_” 也就是消息 – (void)setUrl_:(id)args 找到行

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

也就是在else 里,在该语句下面添加代码:

[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];

最后完整的else 分段代码如下:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
                [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]]; //yangqijun.com

                [self loadURLRequest:request];
                if (scalingOverride==NO) {
                        [[self webview] setScalesPageToFit:YES];
                }