Error on iOS14 when using MDLAsset(url:) initializer

When loading OBJs into an MDLAsset using the MDLAsset(url:) initializer (to eventually get the model into SceneKit), the operation fails frequently and inconsistently on iOS14. This operation works fine for these same files on previous iOS versions. I've also observed the bug on iPadOS, although maybe less frequently. Not sure if it's relevant, but these OBJs are pulled from server and stored locally. But this bug is occurring after files are already downloaded. I already submitted an Apple bug report FB8734401.

The console output seems to indicate a failure to communicate with ModelIO XPC service. I tried restarting my device, but the bug continues to occur. Console output:

Code Block
connection to com.apple.ModelIO.AssetLoader was interrupted
AssetLoader.loadURL errorHandler: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service on pid 0 named com.apple.ModelIO.AssetLoader" UserInfo={NSDebugDescription=connection to service on pid 0 named com.apple.ModelIO.AssetLoader}
Couldn’t communicate with a helper application.
connection to com.apple.ModelIO.AssetLoader was interrupted


Has anyone else seen this on iOS14? Or any suggested workarounds to pull an OBJ into SceneKit?

Replies

Pulling my hair out because of this on ios14
Got the same error on a large mesh
Code Block
2020-10-21 11:07:46.374517-0700 [19062:6094948] connection to com.apple.ModelIO.AssetLoader was interrupted
2020-10-21 11:07:46.377911-0700 [19062:6094927] AssetLoader.loadURL errorHandler: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service on pid 0 named com.apple.ModelIO.AssetLoader" UserInfo={NSDebugDescription=connection to service on pid 0 named com.apple.ModelIO.AssetLoader}
2020-10-21 11:07:46.380719-0700 [19062:6094927] Couldn’t communicate with a helper application.

This seems to be fixed in 14.3