La aplicación falla cuando bash cargar una gran cantidad de datos en mi aplicación

Estoy intentando cargar un JSON de más de 40,000 loggings en mi Realm Database . Esta es mi funcion

 AFJSONRequestOperation *operation = [[AFJSONRequestOperation alloc]init]; [AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObject:@"text/html"]]; operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSArray *relations = [JSON copy]; NSLog(@"COUNT SI %d",relations.count); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSArray *relations = [JSON copy]; RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; for (NSDictionary *dict in relations) { Relation *relation = [[Relation alloc]init]; relation.rel_address = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Address"]]; relation.rel_balanceTotal = [[dict valueForKey:@"BalanceTotal"]doubleValue]; relation.rel_bank_country_code = [NSString stringWithFormat:@"%@",[dict valueForKey:@"BankCountryCode"]]; relation.rel_bank_number = [NSString stringWithFormat:@"%@",[dict valueForKey:@"BankNumber"]]; relation.rel_city = [NSString stringWithFormat:@"%@",[dict valueForKey:@"City"]]; relation.rel_city_id = [[dict valueForKey:@"CityId"]intValue]; relation.rel_code = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Code"]]; relation.rel_country = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Country"]]; relation.rel_country_code = [NSString stringWithFormat:@"%@",[dict valueForKey:@"CountryCode"]]; relation.rel_customerProspect = [NSString stringWithFormat:@"%@",[dict valueForKey:@"CustomerProspect"]]; relation.rel_customerCode = [NSString stringWithFormat:@"%@",[dict valueForKey:@"CustomerProspectCode"]]; relation.rel_email = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Email"]]; relation.rel_expinetworking_total = [[dict valueForKey:@"ExpinetworkingTotal"]doubleValue]; relation.rel_fax = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Fax"]]; relation.rel_gsm = [NSString stringWithFormat:@"%@",[dict valueForKey:@"GSM"]]; relation.rel_latitude = [[dict valueForKey:@"Latitude"]doubleValue]; relation.rel_longitude = [[dict valueForKey:@"Longitude"]doubleValue]; relation.rel_memo = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Memo"]]; relation.rel_name = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Name"]]; relation.rel_phone = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Phone"]]; relation.rel_turnovertotal = [[dict valueForKey:@"TurnoverTotal"]doubleValue]; relation.rel_vat_country_code = [NSString stringWithFormat:@"%@",[dict valueForKey:@"VATCountryCode"]]; relation.rel_vat_number = [NSString stringWithFormat:@"%@",[dict valueForKey:@"VATNumber"]]; relation.rel_website = [NSString stringWithFormat:@"%@",[dict valueForKey:@"Website"]]; relation.rel_zipcode = [NSString stringWithFormat:@"%@",[dict valueForKey:@"ZipCode"]]; [realm addObject:relation]; } [realm commitWriteTransaction]; compblock(YES); }); } failure:^( NSURLRequest *request ,NSHTTPURLResponse *response ,NSError *error , id JSON ){ NSLog(@"error is %@",error); }]; [operation start]; 

Todo funciona bien para 10 000 objects. Pero cuando voy a 40 000, obtengo este error:

 Communications error: <OS_xpc_error: <error: 0x356dc614> { count = 1, contents = "XPCErrorDescription" => <string: 0x356dc86c> { length = 22, contents = "Connection interrupted" } }> 

¿Alguien puede ayudarme por favor? Gracias por adelantado !!

EDITAR

Se bloquea antes del logging "COUNT SI". Entonces, ¿creo que tiene algo que ver con AFNetworking? También noté que no se bloqueaba en el simulador …

Este problema no está relacionado con el Reino.

Estoy intentando cargar un JSON de más de 40,000 loggings

Esta tu problema AFJSONRequestOperation intentará deserializar JSON en la memory y su aplicación dejará de tener memory disponible y terminará.

También noté que no se bloqueaba en el simulador …

Esto se debe a que el simulador tiene acceso a mucha más memory que un dispositivo iOS.

Debería encontrar forms de networkingucir el tamaño de sus requestes de networking, ya sea solicitando less datos a la vez o usando un formatting de respuesta less derrochador que las cadenas JSON.

Envuelva el cuerpo del loop en @autoreleasepool

También copyr el mismo JSON dos veces parece networkingundante.