AFJSONRequestOperation falla porque webservice devuelve JSON con text de tipo de contenido / html

Estoy intentando actualizar mi aplicación para usar AFNetworking, pero el service web que necesito para trabajar devuelve JSON como text / html que se rompe cuando bash usar AFJSONRequestOperation:

Expected content type {( "text/json", "application/json", "text/javascript" )}, got text/html 

¿Hay alguna manera de anular esto en AFNetworking para que pueda aceptar el text / html?

Sí, es posible, AFNetworking admite agregar types de contenido aceptables. En el método init de su subclass AFHTTPClient haga lo siguiente:

 [AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObjects:@"text/html", nil]]; 

He tenido el mismo problema con mi aplicación y esto hizo que funcione.

No creo que debas seguir ese path a less que sepas perfectamente lo que hace el marco interiormente. Por experiencia, puedo decirte que sería posible romper un montón de cosas si lo arreglaste mal, deberías mantener tu propia twig separada a partir de ese momento, perdiendo los beneficios de actualizar a la última versión de AFNetworking en el futuro y, por lo tanto, get las últimas correcciones de errores y características a less que las haya integrado en su sucursal.

Si solo quieres que funcione por ahora, lo justo, sigue adelante y testing si funciona (lo que dudo). Estoy seguro de que hay otras partes de AFNetworking que esperan que el tipo de contenido sea "text / html", y al agregar otro en una parte que no se supone que debería tener conflictos que requerirían parchear más y más hasta el fin de los times.

Honestamente, intente cambiar el tipo de contenido que su server está enviando y haga las cosas como se supone que deben hacerse.

Otro enfoque sería establecer un "proxy" en su aplicación (como un pequeño server que se ejecuta localmente en el teléfono) que recuperó el contenido y lo pasó a AFNetworking con el tipo de contenido correcto. Aun así, estaría complicando las cosas por nada, pero al less no modificarías el marco tú mismo, que es lo último que puedes hacer.