ios - 如何下载 Vuforia 应用程序的数据集?

标签 ios xcode download augmented-reality

我正在使用 iOS 5.1 的 Xcode 4.2 中的 Vuforia SDK 1.5.9 开发示例应用程序。在那个版本中,我无法自己制作可跟踪数据集——我必须使用高通的在线解决方案。有谁知道或有人试过从远程位置下载数据集吗?因此,您像往常一样生成它们,但将它们从服务器下载到应用程序中,这样我就可以选择要下载并即时使用的应用程序?

昨天我用这个快速尝试了一下:

-(void)setupMarkers{
    NSString *filePathX;
    //connect to the remot location
    NSURL *urlD = [NSURL URLWithString:[NSString stringWithFormat:@"%@/frames.dat",kURLServer]];
    NSData *urlData = [NSData dataWithContentsOfURL:urlD];
    if ( urlData )
    {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];  

        NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"frames.dat"];
        [urlData writeToFile:filePath atomically:YES];
    }
    NSURL *urlX = [NSURL URLWithString:[NSString stringWithFormat:@"%@/frames.xml",kURLServer]];
    NSData *urlDataX = [NSData dataWithContentsOfURL:urlX];
    if ( urlDataX )
    {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];  

        NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"frames.xml"];
        [urlDataX writeToFile:filePath atomically:YES];
        filePathX = filePath;
    }
    //put them into markersArray
    [self.markersArray addObject:filePathX];
}

我知道这很丑陋,但正如我所说,这是一个快速尝试,但根本没有用。我知道有新的 Vuforia SDK 2.0,带有云和其他东西,但据我所知,我必须使用 iOS6 和 Xcode 4.5——这不是我现在的解决方案。

最佳答案

实际上,我的“快速尝试”毕竟还不错 :) 这是我所做的:

  1. 写了一个方法 -(void)setupMarkers,我在其中加载 .dat 和 .xml 文件(如问题)
  2. 在 QCARUtils.mm 中,我更改了 - (QCAR::DataSet *)loadDataSet:(NSString *)dataSetPath 一行:

    // Load the data set from the App Bundle
    // If the DataSet were in the Documents folder we'd use STORAGE_ABSOLUTE and the full path
    if (!theDataSet->load([dataSetPath cStringUsingEncoding:NSASCIIStringEncoding], QCAR::DataSet::STORAGE_ABSOLUTE))//STORAGE_APPRESOURCE)){
    ...
    }
    

就像一个魅力:)

附注我会等一会儿,如果有人能想出更好的答案;)

关于ios - 如何下载 Vuforia 应用程序的数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13879548/

相关文章:

ios - 删除 dealloc 上对象的所有观察信息

ios - 用户的 Firebase Analytics 屏幕时间

ios - 如何在表格 View 单元格中添加复选框?

ios - 在 Xcode 中存档时找不到模块,但在 "Run"期间找到模块

javascript - 我的网页如何在没有点击事件的情况下仅使用 JavaScript 下载服务器上的文件

javascript - 如何知道 nsIWebBrowserPersist 下载何时完成? (火狐 30、Javascript)

javascript - 从给定的 url 下载文件的 javascript 中的 wget 是什么?

iphone - UIWebView:为什么使用不存在的主机名时请求不会超时?

ios - SpriteKit 物理在不同的屏幕分辨率上不一致

ios - Xcode 6 中的可编辑多行文本输入