Recently I have gotten some very strange crashes on HockeyApp:
Application Specific Information: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An instance 0x13ef90530 of class FPPhoto was deallocated while key value observers were still registered with it. Current observation info: NSKeyValueObservationInfo 0x13e9e8bb0 ( NSKeyValueObservance 0x13ef36810: Observer: 0x13e5a95f0, Key path: fractionCompleted, Options: New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x13ef795d0 )'
I understand the basis of the crashreport and this can very well be true as I have KVO observers all over the place in my app, also connected to objects of type FPPhoto
The strange thing I wonder about is the name of the parameter: (Key path: fractionCompleted) We actaully have a parameter called fractionCompleted, but that is in a totally different place in the application. We add KVO to fractionCompleted to track upload progress. fractionCompleted KVO listener is though never added to any object of kind FPPhoto in the code.
I guess either it's the crash report that got the parameter/class names mixed up or can it be worse, -> some kind of memory mixup at runtime to make KVO attach to the wrong object?
Any ideas how this can happen?