diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m index 801f2d0..bebb54d 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m @@ -686,17 +686,20 @@ if (obj && [obj isKindOfClass:[NSDictionary class]]) { NSDictionary *responseInfo = [obj dict:KeyResponseInfo]; - if (![ValueTypeSuccess isEqualToString:[responseInfo string:KeyType]]) { - errorObject = [[MVMCoreLoadHandler sharedGlobal] attachLoadInformation:loadObject toError: - [[MVMCoreErrorObject alloc] - initWithTitle:[responseInfo stringForKey:KeyErrorHeading] - message:[responseInfo stringForKey:KeyUserMessage] - messageToLog:[responseInfo stringForKey:KeyMessage] - code:[[responseInfo string:KeyCode] integerValue] - domain:ErrorDomainServer - location:[[MVMCoreLoadHandler sharedGlobal] errorLocationForRequest:loadObject]]]; + if (responseInfo == nil) { + errorObject = [[MVMCoreLoadHandler sharedGlobal] errorForLoadObject:loadObject withTitle:nil message:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorCritical] code:ErrorCodeJSONNotDictionary domain:ErrorDomainSystem]; + }else { + if (![ValueTypeSuccess isEqualToString:[responseInfo string:KeyType]]) { + errorObject = [[MVMCoreLoadHandler sharedGlobal] attachLoadInformation:loadObject toError: + [[MVMCoreErrorObject alloc] + initWithTitle:[responseInfo stringForKey:KeyErrorHeading] + message:[responseInfo stringForKey:KeyUserMessage] + messageToLog:[responseInfo stringForKey:KeyMessage] + code:[[responseInfo string:KeyCode] integerValue] + domain:ErrorDomainServer + location:[[MVMCoreLoadHandler sharedGlobal] errorLocationForRequest:loadObject]]]; + } } - // Caches each dictionary from the array. [[MVMCoreCache sharedCache] addModuleToCache:obj module:key queue:nil waitUntilFinished:YES completionBlock:NULL]; } else { diff --git a/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m b/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m index 9cf85b6..fb9a41a 100644 --- a/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m +++ b/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m @@ -23,8 +23,10 @@ // Initialization code self.title = title; self.messageToDisplay = message; + self.messageToLog = message; self.code = code; self.domain = domain; + self.systemDomain = nil; self.location = location; self.date = [NSDate date]; self.silentError = YES; @@ -32,6 +34,11 @@ [MVMCoreDispatchUtility performSyncBlockOnMainThread:^{ self.applicationState = [UIApplication sharedApplication].applicationState; }]; + self.sessionId = nil; + self.requestId = nil; + self.requestUrl = nil; + self.serverResponseInfo = nil; + self.crashLog = nil; } return self; } @@ -41,9 +48,11 @@ if (self = [super init]) { // Initialization code self.title = title; + self.messageToDisplay = nil; self.messageToLog = messageToLog; self.code = code; self.domain = domain; + self.systemDomain = nil; self.location = location; self.date = [NSDate date]; self.silentError = YES; @@ -51,6 +60,11 @@ [MVMCoreDispatchUtility performSyncBlockOnMainThread:^{ self.applicationState = [UIApplication sharedApplication].applicationState; }]; + self.sessionId = nil; + self.requestId = nil; + self.requestUrl = nil; + self.serverResponseInfo = nil; + self.crashLog = nil; } return self; }