上述問題的解決方法:
//如果是需要驗證自建證書,需要設置為YES
securityPoliy.allowInvalidCertificates =YES;
securityPoliy.validatesDomainName =NO;//不驗證證書的域名
HTTPS步驟:
1.從服務器要來.crt格式的證書,然后用Mac鑰匙串打開,然后導出.cer格式的證書
2.把.cer證書導入程序的 NSBundle中。
驗證證書的代碼:
NSString*cerPath = [[NSBundlemainBundle] pathForResource:@"test"ofType:@"cer"];
NSData*cerData = [NSDatadataWithContentsOfFile:cerPath];
NSSet*cerSet = [[NSSetalloc]initWithObjects:cerData,nil];
AFSecurityPolicy *securityPoliy = [AFSecurityPolicy defaultPolicy];
//allowInvalidCertificates 是否允許無效證書(也就是自建的證書),默認為NO
//如果是需要驗證自建證書,需要設置為YES
securityPoliy.allowInvalidCertificates =YES;
securityPoliy.validatesDomainName =NO;
//設置證書
[securityPoliy setPinnedCertificates:cerSet];
[dxClient setSecurityPolicy:securityPoliy];
參考:
http://www.cnblogs.com/Crazy-ZY/p/6094383.html
http://www.lxweimin.com/p/4102b817ff2f
http://stackoverflow.com/questions/33066819/error-domain-nscocoaerrordomain-code-3840-json-text-did-not-start-with-array-or