Improve app binary detection in crash reports

- Fix iOS 8 issue with not remove part of a path when using `stringByStandardizingPath` (removed leading `/private`)
- Exclude iOS swift libraries from being detect as app specific
This commit is contained in:
Andreas Linde
2014-11-03 15:45:37 +01:00
parent 1b2dad78d9
commit ef82814471

View File

@@ -539,8 +539,13 @@ static const char *findSEL (const char *imageName, NSString *imageUUID, uint64_t
NSString *imagePath = [imageInfo.imageName stringByStandardizingPath];
NSString *appBundleContentsPath = [[report.processInfo.processPath stringByDeletingLastPathComponent] stringByDeletingLastPathComponent];
if ([imagePath isEqual: report.processInfo.processPath] || [imagePath hasPrefix:appBundleContentsPath])
binaryDesignator = @"+";
// exclude iOS swift dylibs
if (![imageInfo.imageName containsString:@".app/Frameworks/libswift"]) {
if ([imagePath isEqual: report.processInfo.processPath] ||
[imagePath hasPrefix:appBundleContentsPath] ||
[imageInfo.imageName hasPrefix:appBundleContentsPath]) // Fix issue with iOS 8 `stringByStandardizingPath` removing leading `/private` path (when not running in the debugger only)
binaryDesignator = @"+";
}
/* base_address - terminating_address [designator]file_name arch <uuid> file_path */
NSString *fmt = nil;