We have encountered the same issue in our app.
I’m confused by this claim, and your post in general. Specifically, the backtrace in your post doesn’t line up with the backtrace in your crash report. For example, frame 2 in your post is CFPrefsSearchListSource
but the crash report doesn’t mentioned CFPrefsSearchListSource
at all.
Indeed, I think the backtrace in your post is misleading nonsense. Consider this from your post:
0 CoreFoundation … __exceptionPreprocess
1 libobjc.A.dylib … objc_exception_throw
2 CoreFoundation … -[CFPrefsSearchListSource addManagedSourceForIdentifier:user:]
3 Foundation … -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
4 UIKitCore … -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:]
Frames 4 and 3 make it clear that UIKit is throwing a language exception, and that’s born out by frames 1 and 0. However frame 2 is very hard to understand. How could we get from NSAssertionHandler
to CFPrefs
?
In contrast, your crash report seems to make more sense:
0 CoreFoundation … __exceptionPreprocess + 220 (NSException.m:199)
1 libobjc.A.dylib … objc_exception_throw + 60 (objc-exception.mm:565)
2 CoreFoundation … +[NSException raise:format:arguments:] + 100 (NSException.m:146)
3 Foundation … -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 132 (NS…
4 UIKitCore … -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 1680 (UITable…
Note how CFPrefs
is no longer present and frame 2 is NSException
, which is what you’d expect.
Where did the backtrace in your post come from?
And if the answer is “From a third-party crash reporting tool.” then take a look at the General Advice and Preserve the Apple Crash Report sections of Implementing Your Own Crash Reporter.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"