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.