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

神奇的——%23

从本地加载H5资源时,使用 URLfileURLWithPath: 定位资源时
文件路径:
/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 URLWithString:path];

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

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

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

没有下文……

猜你喜欢

转载自blog.csdn.net/xjh093/article/details/80255622