Estoy usando el siguiente código para mostrar un sitio web en mi aplicación.
let webVC = SFSafariViewController(url: myUrl) present(webVC, animated: true)Ahora, quiero agregar la lectura sin conexión. Sé que iOS tiene una lista de lectura, que aparentemente almacena en caché los artículos para su uso sin conexión, pero no pude encontrar nada relacionado ni en la documentación de SFSafariViewController ni en ningún otro lugar.
La única publicación similar que pude encontrar fue esta ( Swift iOS Cache WKWebView content for offline view ) aunque depende de WKWebView y de escribir un exportador de archivos web personalizado.
Debe haber una mejor manera de lograr capacidades fuera de línea para SFSafariViewController, considerando que es más nuevo y el método recomendado dentro de la aplicación, y que Safari utiliza un modo fuera de línea para la lista de lectura de iOS. ¿Alguna ayuda?
Parece que podrías no tener suerte aquí. Como sugiere este radar, SFSafariViewController ni siquiera carga datos de la lista de lectura.
Dicho esto, no creo que haya ninguna posibilidad de lograr lo que está tratando de lograr, aparte de, como en el enlace que proporcionó, escribir un exportador de archivos personalizado y usar WKWebView. Como se indica en su documentación , SFSafariViewController solo admite esquemas de URL http o https, lo que hace que este enfoque no sea adecuado para él.
Si su aplicación se basa en esta funcionalidad, no debería ser demasiado difícil implementar algo así, posiblemente usando SwiftSoup o proyectos similares para extraer y manipular los enlaces para reflejar su ruta en el disco.