diff --git a/Shared/Errors/ALTWrappedError.m b/Shared/Errors/ALTWrappedError.m index 5b58ec9c..82417fdd 100644 --- a/Shared/Errors/ALTWrappedError.m +++ b/Shared/Errors/ALTWrappedError.m @@ -36,11 +36,22 @@ - (NSString *)localizedDescription { + NSString *wrappedLocalizedDescription = self.wrappedError.userInfo[NSLocalizedDescriptionKey]; + if (wrappedLocalizedDescription != nil) + { + NSString *localizedFailure = self.wrappedError.userInfo[NSLocalizedFailureErrorKey]; + + NSString *fallbackDescription = localizedFailure != nil ? [NSString stringWithFormat:@"%@ %@", localizedFailure, self.wrappedError.localizedFailureReason] : self.wrappedError.localizedFailureReason; + if (![wrappedLocalizedDescription isEqualToString:fallbackDescription]) + { + return wrappedLocalizedDescription; + } + } + NSString *localizedFailure = self.userInfo[NSLocalizedFailureErrorKey]; if (localizedFailure != nil) { - NSString *wrappedLocalizedDescription = self.wrappedError.userInfo[NSLocalizedDescriptionKey]; - NSString *localizedFailureReason = wrappedLocalizedDescription ?: self.wrappedError.localizedFailureReason ?: self.wrappedError.localizedDescription; + NSString *localizedFailureReason = self.wrappedError.localizedFailureReason ?: self.wrappedError.localizedDescription; NSString *localizedDescription = [NSString stringWithFormat:@"%@ %@", localizedFailure, localizedFailureReason]; return localizedDescription;