Work around KVC Crasher in CMObject -description method
Work around KVC Crasher in CMObject -description method

A customer reports a low but non-negligible crash rate from
CMObject's -description method. The method throws a
NSUndefinedKeyException in rare circumstances, which we can not
reproduce. The key being called is one observed dynamically by
the MAObjCRuntime library. This is the most conservative fix:
in this method only, we call a "safe" version of valueForKey: which
wraps the call in a @try-@catch block.

A more aggressive fix would have been to override -valueForUndefinedKey:
on CMObject, but given the runtime trickery used throughout the app,
I can't feel 100% confident there would be no other side effects in
doing so. There have been other places in the SDK where @try-@catch had
been used for actual control flow.

The *ideal* fix would be to track down why the RT lib is returning a
property  name that subsequently results in an undefined key exception.
Given the low incedence and the fact its coming from a non-critical
code path, investing that time seems overkill for now.

cloudmine/cloudmine-ios,apbendi/cloudmine-ios,cloudmine/cloudmine-ios,cloudmine/cloudmine-ios,cloudmine/CloudMineSDK-iOS,cloudmine/CloudMineSDK-iOS,apbendi/cloudmine-ios,cloudmine/CloudMineSDK-iOS,apbendi/cloudmine-ios