Cómo leer una cadena simple a partir de una request POST en AFNetworking (Sin JSON)

Estoy usando AFNetworking para comunicarme con un server a través de POST que responde con una cadena simple que contiene la información que necesito. Estoy usando el siguiente código:

  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST: MY_URL parameters: MY_PARAMETERS success:^(AFHTTPRequestOperation *operation, id responseObject) { //do something } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //etc. }]; 

Sin embargo, parece que AFNetworking espera que cada respuesta esté en formatting JSON porque obtengo este error cuando ejecuto mi request:

Error de dominio = NSCocoaErrorDomain Code = 3840 "No se pudo completar la operación (Cocoa error 3840.)" (El text JSON no comenzó con array u object y la opción para permitir fragments no configurados) UserInfo = 0x1566eb00 {NSDebugDescription = Texto JSON no comenzó con array u object y la opción para permitir fragments no configurados.}

¿Cómo puedo decirle a AFNetworking que está bien que la respuesta no sea un object JSON? He visto algo relacionado con AFHTTPClient , pero ya no parece ser parte de AFNetworking .

Puede decirle a AFHTTPRequestOperationManager o AFHTTPSessionManager cómo manejar la respuesta, por ejemplo, antes de llamar a POST , puede hacer lo siguiente:

 manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

Luego, en su bloque de success , puede convertir el NSData a una cadena:

 NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; 

Dicho esto, es posible que desee considerar la conversión de su service web para devolver la respuesta JSON, ya que es mucho más fácil analizarlo de esa manera (y diferenciar entre una respuesta válida y algún error del server).

  NSLog(@"Response: %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]); 

Puede get detalles de la descripción de la respuesta como a continuación.

  NSLog(@"JSON: %@", [responseObject description]);