【问题标题】:Loading KRPano panorama on iOS locally/offline本地/离线在 iOS 上加载 KRPano 全景图
【发布时间】:2018-06-08 18:54:24
【问题描述】:

我正在编写一个 iOS 应用程序,它将在 UIWebView 中离线加载 KRPano 全景图。这意味着我已经在我的 iOS 项目中复制了我的 KRPano 文件结构(index.html + 数据目录),我正在尝试使用 swift 代码加载文件:

//load a file
guard let urlResource = NSBundle.mainBundle().URLForResource("index", withExtension: "html") else {    
    print ("error")
    return
}
let webRequest = NSURLRequest(URL: urlResource)
webView.loadRequest(webRequest)

​如果全景图是从远程位置加载的,那么顺便说一句。可能是什么问题?

【问题讨论】:

  • 这有什么结果吗?

标签: ios uiwebview krpano


【解决方案1】:

不手动编辑 Krpano 文件是不可能的。我们在我们的应用程序 (Offline Pages Pro) 中通过自动修复从网络下载的 JavaScript 文档解决了这个问题。我们的实现相当复杂,但最终它允许离线浏览 Krpano 之旅。

问题在于 Krpano HTML5 查看器使用 XMLHttpRequests 来加载内容。如果内容是本地的(即 file:// ),XMLHttpRequest 也可以成功,但不会产生 Krpano 期望的 HTTP 状态代码 200。

您可以尝试实现 NSURLProtocol 来覆盖 XMLHttpRequests,它可能在 IOS 9 中工作,但在 iOS 8 中,它不起作用,因为 XMLHttpRequests 完全绕过了 NSURLCache 和 NSURLProtocol。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多