iOS面试资料

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

2019-06-14  本文已影响3人  豪冷

神奇的——%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

没有下文......

上一篇 下一篇

猜你喜欢

热点阅读