Сохранить SceneKit редактирует ошибки
Мне нужна помощь, чтобы понять, почему мое приложение iOS 12.1 не сохраняет изменения времени выполнения в цвета SCNMaterial и SCNLights, добавленные пользователем.
Приложение правильно отображает все активы, созданные в Blender 2.79b. Активы были сохранены в папке.scnassets и были преобразованы из файла.dae в.scn через Xcode 10.1. Запись SCNScene (to: options: делегат:) возвращает true, а делегат сообщает об ошибке: ноль. Я попытался добавить SCNSceneSource.LoadingOption.strictConformance.rawValue: true в качестве опции, но это не имеет никакого эффекта.
если let documentsPathURL = fileManager.urls(для: .applicationSupportDirectory, в:.userDomainMask).first {
let url = documentsPathURL.appendingPathComponent (selectedDesign.uniqueID!). appendingPathExtension ("scn")
let success = scnScene.write (to: url, параметры: [SCNSceneSource.LoadingOption.strictConformance.rawValue: true], делегат: nil) { (totalProgress, error, stop) в печати ("Ошибка Progress (totalProgress): (String(description: error)) ")}}
do {try dataSource.scnScene = SCNScene (url: URL (fileURLWithPath: path), параметры: [.strictConformance: true]) } перехватить ошибку let как NSError { displayPreviousSessionLoadErrorAlert(error: error) }
Я ожидаю, что SCNLights, добавленные в SCNScene, и изменения, внесенные в цвет SCNMaterials, будут сохранены в каталоге поддержки приложений и повторно выведены на экран, когда SCNScene воссоздается и назначается для SCNView. Однако этого не происходит.