0
点赞
收藏
分享

微信扫一扫

iOS Hybrid开发中URL字符转义问题之神坑——百分之23

最不爱吃鱼 2022-10-25 阅读 133


神奇的——%23

从本地加载H5资源时,使用 ​​URL​​​ 的 ​​fileURLWithPath:​​​ 定位资源时
文件路径:
​​​/var/mobile/Containers/Data/Application/590E20E4-5839-43DD-BCC3-3543318F32D3/Demo.app/H5/index.html#/home​​​
中的 ​​​#​​​ 符号
从 ​​​NSString​​​ 转成 ​​NSURL​​​ 时
变成 ​​​%23​​​
结果导致 H5 一直加载不了!!!

百度 ​​ios URL转义​​​
各种说使用:
​​​stringByAddingPercentEscapesUsingEncoding:​​​
​​​CFURLCreateStringByAddingPercentEscapes()​

还是不行!!!
依旧是 %23

强大的 URLWithString:

参见:​​iOS URL 字符转义问题​​

不使用: ​​fileURLWithPath:​​​
而是直接使用:​​​URLWithString​​​
本地路径字符串加上前缀: ​​​file://​​​
完美加载!!!

NSString *path = [NSString stringWithFormat:@"file://%@", h5Path];
NSURL * URL = [NSURL

一波又起:Could not create a sandbox extension for /

百度之后,原因是:
​​​iOS9.0​​​ 以下版本, WKWebview不支持 load 项目根目录下的 HTML 源文件。
需要把 ​​​html​​​ 放到 ​​tmp​​​ 目录下,然后加载 ​​tmp​​​ 下的 ​​html​​​ 文件
参见:​​​WKWebView使用遇到的坑​​

然而,一波操作之后,​​html​​​ 是可以加载了,但是界面元素是各种飞啊!!!
不忍直视 T_T

没有下文……


举报

相关推荐

0 条评论