使用bundle为MDLAsset加载目标文件

时间:2017-12-04 20:02:53

标签: swift macos nsbundle modelio

我正在尝试加载.obj文件以在macOS Swift应用中创建MDLAsset对象。最初,我正在创建这样的资产:

   let myAsset = URL(fileURLWithPath: "/Users/me/Development/MyProject/MyApp/Assets.xcassets/arrow.dataset/arrow.obj")
    arrowMdl = MDLAsset(url:arrow).object(at: 0)

显然,当应用程序投入生产时,它不会起作用 - 所以,基于这个SO answer,我尝试将.obj文件添加到一个包中,然后加载它,如下所示:

    let path: String = Bundle.main.path(forResource: "Arrow", ofType: "bundle")!
    do {
        let arrowPath = try String(contentsOfFile: path)
    }
    catch let error as NSError {
        print(error.description)
    }

但是,我一直收到以下错误:

Error Domain=NSCocoaErrorDomain Code=257 "The file “Arrow.bundle” couldn’t be opened because you don’t have permission to view it." 

我确保为每个人设置读/写权限。

我做错了什么?或者,是否有另一种加载此资产的方法?看起来好像MDLAsset需要一个URL来初始化它:https://developer.apple.com/documentation/modelio/mdlasset

0 个答案:

没有答案