将本地文件传递给第三方框架

时间:2016-05-05 20:26:50

标签: javascript ios wikitude

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

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

  1. 每次创建上下文时(启动期间)都需要从网上下载配置。这是有问题的,因为配置可以是10+兆字节。
  2. javascript上下文中没有持久存储选项
  3. 不允许离线使用,因为每次启动都需要网络连接。
  4. 我正在寻找有关此问题的解决方法的建议。我正在考虑NSURL协议中的自定义URL方案或应用程序上的本地Web服务器,但我不确定javascript上下文是否能够看到从应用程序本地存储链接的任何资产。任何建议都会非常有帮助!

1 个答案:

答案 0 :(得分:0)

Wikitude SDK如何知道从网络获取配置文件,您是否给它一个URL字符串/ NSURL实体?如果是这种情况,我想您可以尝试快速测试以查看文件 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'替换为您的实际文件名,并确保它位于正确位置的设备上,这应该足以至少测试理论。