我有一个使用ARKit 的应用程序。到当前版本为止,所有资产都包含在应用程序包本身中,用户使用该应用程序似乎没有问题。

但是,我想在应用程序上启用按需资源,以便可以从AppStore下载较新模块(游戏)的资源,从而避免了笨重的应用程序。遵循iOS文档,我可以使用ODR,并且该应用程序可以在我的设备上正常工作。它正在按需使用ODR加载资源。

但是,当上传到AppStore进行App Review时,我遇到了错误:

ios - iOS应用程序中的按需资源AppStore上传失败-不允许的路径-LMLPHP

我的特定SCNAssets文件夹(已标记)的文件夹结构如下:

ios - iOS应用程序中的按需资源AppStore上传失败-不允许的路径-LMLPHP

请注意,该应用程序在我的设备上使用ODR可以完美运行。我做了以下尝试多次,但无济于事。

  • 创建一个干净的版本。
  • 更改版本/内部版本。
  • 确保在“构建设置”等中启用了ODR-所有卫生步骤。
    所有XCode,没有我正在使用的平台(例如Xamarin,
    等)
  • 使用现有的SO相关解决方案。

  • Apple没有太多有关启用ODR的应用程序的AppStore上传相关问题的文档。我想知道是否在带标签的资源文件夹中,我们是否也可以有其他文件夹,因为我的文件夹结构是现在-不知道是否可能是原因,因为附加的错误指向我的文件夹结构中的所有文件夹。

    帮助将不胜感激。 现在,我取消了对ODR的依赖,并且不再使用ODR,但是这种情况不能长期持续。
    注意:资产是所有scn文件,scn粒子系统和图像。

    下面简要介绍了访问ODR的代码,但是该代码可与我的设备一起使用,并且应该可以在其他地方使用。我认为该问题可能与文件夹排列有关。

    ODR管理器:
    class ODRManager {
    
        static let shared = ODRManager()
        var currentRequest: NSBundleResourceRequest?
        var currentProgressFractionCompleted: Double?
    
        func requestSceneWith(tag: String, onSuccess: @escaping () -> Void, onFailure: @escaping (NSError) -> Void) {
    
            currentRequest = NSBundleResourceRequest(tags: [tag])
    
            guard let request = currentRequest else { return }
    
            request.beginAccessingResources { (error: Error?) in
                if let error = error {
                    onFailure(error as NSError)
                    return
                }
                onSuccess()
            }
        }
    }
    

    在ViewController中访问ODR
    // tagName is the name of the tag on the ODR related scnassets folder.
    
    ODRManager.shared.requestSceneWith(tag: tagName, onSuccess: {
        DispatchQueue.main.async {
            self.game = self.gameFactory.createGame(...)
    }, onFailure: { (error) in
        self.threeSurfaceLabel.text = "Problem with downloading content. Make sure internet connection is working, and restart."
    })
    

    最佳答案

    产品->方案->编辑方案

    请进入编辑方案,并从调试到发布进行Build配置,然后检查。在创建存档之前,请不要忘记使用“命令+选项+ Shift + K”进行清理。

    它将解决您的问题。

    关于ios - iOS应用程序中的按需资源AppStore上传失败-不允许的路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50343132/

    10-10 21:11