【问题标题】:Passing local files to third-party framework将本地文件传递给第三方框架
【发布时间】:2016-05-05 20:26:50
【问题描述】:

我正在尝试使用 Wikiitude 增强现实 SDK 构建 IOS 应用程序。目前,SDK 需要一个配置文件,要么包含在二进制文件中,要么在他们自己的 javascript webview-esque 框架的上下文中从网络获取。

SDK 没有将此配置文件从本地应用存储传递到 javascript 上下文的记录方法。当前的实现涉及从 Parse 获取配置文件。这是有问题的,原因如下:

  1. 每次创建上下文时(在启动期间),都需要从网上下载配置。这是有问题的,因为配置可能超过 10 兆字节。
  2. 在 javascript 上下文中没有持久存储选项
  3. 不允许离线使用,因为每次启动都需要网络连接。

我正在寻找有关此问题的解决方法的建议。我正在考虑来自 NSURL 协议的自定义 URL 方案或可能是应用程序上的本地 Web 服务器,但我不确定 javascript 上下文是否能够看到从应用程序本地存储链接的任何资产。任何建议都会非常有帮助!

【问题讨论】:

    标签: javascript ios wikitude


    【解决方案1】:

    Wikitude SDK 是如何知道从网络中获取配置文件的,你是否给它一个 URL 字符串/NSURL 实体?如果是这种情况,我想您可以尝试快速测试以查看 file URL 是否有效:

    - (NSURL *)urlForConfigFile
    {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *localDir = paths[0];
        NSString *resourcePath = [NSString stringWithFormat:@"%@/config.txt", localDir];
        return [NSURL fileURLWithPath:resourcePath];
    }
    

    这会给你类似的东西:

    file:///var/mobile/Containers/Data/Application/7DAABE99-F9A9-4281-B95F-971448DA7377/Documents/config.txt

    用您的实际文件名替换“config.txt”,并确保它在设备上的正确位置,这至少足以测试理论。

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 2018-11-23
      • 2011-04-18
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      相关资源
      最近更新 更多