I am seeing some strange behavior that started popping up when I upgraded a test device to iOS 15.4.1, alongside an upgrade to macOS 12.3.1 (Xcode 13.3.0). The following exception happens when running an ARKit-based app that uses an ARGeoTrackingConfiguration.
[xpc.exceptions] <NSXPCConnection: 0x28ed67b60> connection to service with pid 350 named com.apple.arkit.service.geoTracking: Exception caught during decoding of received selector techniqueDidOutputResultData:timestamp:context:, dropping incoming message.
Exception: Exception while decoding argument 2 (#4 of invocation):
<NSInvocation: 0x28093fec0>
return value: {v} void
target: {@} 0x0
selector: {:} null
argument 2: {@} 0x20d258000
argument 3: {d} 0.000000
argument 4: {@} 0x0
Exception: value for key 'collaborationData' was of unexpected class 'NSSet' (0x20c235120) [/System/Library/Frameworks/CoreFoundation.framework].
Allowed classes are:
[a bunch of classes listed here]
Perhaps there's a change with an ARKit NSSecureCoding implementation that's not backward compatible?
The exception does not raise when an ARKit ARWorldTrackingConfiguration is used (running the versions mentioned above).
Also, the exception does not raise when an ARKit ARGeoTrackingConfiguration is used running macOS 12.3.0, iOS 15.3.1 and Xcode 13.3.0.
Thoughts?
But otherwise, all seems well.