Bladeren bron

fix main thread message serverStatus

Marino Faggiana 6 jaren geleden
bovenliggende
commit
c7176537cf
1 gewijzigde bestanden met toevoegingen van 51 en 51 verwijderingen
  1. 51 51
      iOSClient/Networking/OCNetworking.m

+ 51 - 51
iOSClient/Networking/OCNetworking.m

@@ -181,60 +181,60 @@
     
     NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler: ^(NSData *data, NSURLResponse *response, NSError *error) {
         
-        if (error) {
-            
-            NSString *message;
-            NSInteger errorCode;
-            
-            NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
-            errorCode = httpResponse.statusCode;
-            
-            if (errorCode == 0 || (errorCode >= 200 && errorCode < 300))
-                errorCode = error.code;
-            
-            // Error
-            if (errorCode == 503)
-                message = NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil);
-            else
-                message = [error.userInfo valueForKey:@"NSLocalizedDescription"];
-            
-            dispatch_async(dispatch_get_main_queue(), ^{
-                failure(message, errorCode);
-            });
-            
-        } else {
-            
-            NSString *serverProductName = @"";
-            NSString *serverVersion = @"0.0.0";
-            NSString *serverVersionString = @"0.0.0";
-            
-            NSInteger versionMajor = 0;
-            NSInteger versionMicro = 0;
-            NSInteger versionMinor = 0;
-            
-            NSError *error;
-            NSDictionary *jsongParsed = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
+        dispatch_sync(dispatch_get_main_queue(), ^{
             
             if (error) {
-                failure(error.description, error.code);
-                return;
-            }
-            
-            serverProductName = [[jsongParsed valueForKey:@"productname"] lowercaseString];
-            serverVersion = [jsongParsed valueForKey:@"version"];
-            serverVersionString = [jsongParsed valueForKey:@"versionstring"];
-            
-            NSArray *arrayVersion = [serverVersionString componentsSeparatedByString:@"."];
-            if (arrayVersion.count >= 3) {
-                versionMajor = [arrayVersion[0] integerValue];
-                versionMicro = [arrayVersion[1] integerValue];
-                versionMinor = [arrayVersion[2] integerValue];
-            }
-            
-            dispatch_async(dispatch_get_main_queue(), ^{
+                
+                NSString *message;
+                NSInteger errorCode;
+                
+                NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
+                errorCode = httpResponse.statusCode;
+                
+                if (errorCode == 0 || (errorCode >= 200 && errorCode < 300))
+                    errorCode = error.code;
+                
+                // Error
+                if (errorCode == 503)
+                    message = NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil);
+                else
+                    message = [error.userInfo valueForKey:@"NSLocalizedDescription"];
+                
+                failure(message, errorCode);
+                
+            } else {
+                
+                NSString *serverProductName = @"";
+                NSString *serverVersion = @"0.0.0";
+                NSString *serverVersionString = @"0.0.0";
+                
+                NSInteger versionMajor = 0;
+                NSInteger versionMicro = 0;
+                NSInteger versionMinor = 0;
+                
+                NSError *error;
+                NSDictionary *jsongParsed = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
+                
+                if (error) {
+                    failure(error.description, error.code);
+                    return;
+                }
+                
+                serverProductName = [[jsongParsed valueForKey:@"productname"] lowercaseString];
+                serverVersion = [jsongParsed valueForKey:@"version"];
+                serverVersionString = [jsongParsed valueForKey:@"versionstring"];
+                
+                NSArray *arrayVersion = [serverVersionString componentsSeparatedByString:@"."];
+                if (arrayVersion.count >= 3) {
+                    versionMajor = [arrayVersion[0] integerValue];
+                    versionMicro = [arrayVersion[1] integerValue];
+                    versionMinor = [arrayVersion[2] integerValue];
+                }
+                
                 success(serverProductName, versionMajor, versionMicro, versionMinor);
-            });
-        }
+            }
+        });
+        
     }];
     
     [task resume];