You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Ionic 3应用在iOS9.3以上运行时Xcode抛异常,9.3及以下正常?

Ionic 3 在 iOS 9.3+ 运行异常的原因及解决办法

你遇到的这个问题其实是Ionic 3和iOS 10及更高版本的Cookie存储机制不兼容导致的——毕竟9.3以上就是iOS 10及后续系统了。从你贴的日志里,DiskCookieStorage changing policy from 2 to 0这条信息就是破局的关键。

问题根源

  • iOS 10之后苹果调整了Cookie的存储策略,但Ionic 3默认使用的UIWebView(当时还没全面切换到WKWebView)对新的系统API适配不到位,触发了存储策略变更的异常。
  • 日志里提到的VCWeakObjectHolder相关警告只是伴随出现的衍生问题,本质还是旧WebView和新系统的兼容性冲突。

可行的解决思路

  • 升级到WKWebView(最推荐):WKWebView是苹果针对现代iOS系统推出的新WebView组件,兼容性和性能都远胜UIWebView。你可以通过Cordova插件来替换:
    cordova plugin add cordova-plugin-wkwebview-engine
    
    安装后记得在config.xml里添加相关偏好配置,确保WebView正常工作。
  • 调整Cookie存储配置:如果暂时不想更换WebView,可以尝试在config.xml里添加以下配置,强制统一Cookie存储策略:
    <preference name="Cookies" value="Enabled" />
    <preference name="AllowFileAccessFromFileURLs" value="true" />
    
  • 清理模拟器缓存:日志里提到的binarycookies文件可能存在旧缓存冲突,你可以手动删除该文件,或者直接重置iOS模拟器后重新构建运行项目。

内容的提问来源于stack exchange,提问作者Tanzeel U Rehman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:56:06