当前位置: 代码迷 >> 综合 >> Cordova iOS 跨域问题
  详细解决方案

Cordova iOS 跨域问题

热度:84   发布时间:2023-09-27 23:01:01.0

说明:记录工作中遇到的一些问题,方便查看,同时也希望能给大家一点帮助。

自从苹果官方要求上传到苹果应用商店里面的app必须是wkwebview,不在支持uiwebview后,corddova官方就从cordova-ios6.0起,移除了以前的uiwebview,全面更换成了wkwebview。wkwebview相对于uiview来说运行速度更快,占用内存更少,也更安全。但是也带来了问题。

问题1:Cordova iOS 在HTML内嵌入外部超链接如链接外部的一张图片,或者加载本地文件所出现的跨域问题?

解决方法:因为在wkwebview中不能使用http协议的网址,必须为https协议的网址,所以直接将链接改为https的。然后在info.plist文件中设置NSAppTransportSecurity属性,具体设置如下图:

Cordova iOS 跨域问题

 

问题2:Cordova iOS工程中ajax 请求出现的跨越的跨域问题?

解决方法:CDVWebViewEngine.m文件中createConfigurationFromSettings方法下增加如下代码

[configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];

[configuration setValue:@YES forKey:@"_allowUniversalAccessFromFileURLs"];

具体操作如下图:

Cordova iOS 跨域问题
 

以上就是解决Cordova ios 的跨域问题,如果你不清楚是哪里出现问题,直接暴力解决把所说的方法全部设置一下,基本上能解决问题,希望对大家有所帮助,谢谢! 

  相关解决方案