versiones guia ios ios9 cfnetwork app-transport-security

ios - guia - ¿Cómo puedo averiguar qué URL está siendo bloqueada por App Transport Security?



qgis manual (2)

La respuesta aceptada es correcta, pero si está haciendo esto en Xamarin iOS, deberá usarlo;

Environment.SetEnvironmentVariable("CFNETWORK_DIAGNOSTICS", "3", EnvironmentVariableTarget.Process);

Además, si está buscando el archivo de registro, use algo como Simulator Manager para encontrar la ubicación correcta más fácilmente ( https://github.com/tue-savvy/SimulatorManager ).

Estoy actualizando una aplicación de iOS a iOS 9, tengo algunas URL que no son seguras y necesito algunas excepciones a la Seguridad de transporte de aplicaciones. He agregado los dos que conozco, pero ahora están ocurriendo algunas advertencias que indican:

App Transport Security ha bloqueado una carga de recursos HTTP (http: //) de texto simple, ya que no es segura. Las excepciones temporales se pueden configurar a través del archivo Info.plist de su aplicación.

Necesito saber qué URL se están bloqueando para poder agregarlas a la lista de información. Probablemente sean imágenes o archivos multimedia. ¿Cómo puedo hacer que el sistema registre las URL que decidió no cargar?


Nota del editor : @jessedc señala en los comentarios debajo del enlace a la documentación oficial de Apple sobre cómo hacer esto: https://developer.apple.com/library/content/qa/qa1887/_index.html

Bueno, tengo una respuesta que no me gusta! Todavía quiero mucho una mejor.

En mi application:didFinishLaunchingWithOptions: método agregué la línea

setenv("CFNETWORK_DIAGNOSTICS", "3", 1);

Cuando ejecuté la aplicación, en el registro puedo encontrar una entrada que se ve así:

2015-07-02 15:27:56.152 MyApp[45041:9125662] CFNetwork diagnostics log file created at: /Users/micah.hainline/Library/Developer/CoreSimulator/Devices/ 11BCA581-5F5F-494D-932A-2ECFCA33EA93/data/Containers/Data/Application/ 9ACC6941-8039-4B86-B5E8-A6C66E2AD520/Library/Logs/CrashReporter/CFNetwork_com .myapp.MyApp_45041.nwlrb.log

Cuando abro ese archivo, tengo una gran cantidad de entradas de registro sobre todo lo que sucedió en la red. Busco kCFErrorDomainCFNetwork en ese archivo y obtengo registros de solicitudes de red fallidas. Puedo usar eso para ver qué URL intentaba golpear el sistema, y ​​luego puedo agregar esa URL a las excepciones para Seguridad de transporte de aplicaciones.