https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55
Parece que no puedo agregar esto a mi info.plist. No tiene valor. Estoy ejecutando XCode Versión 7.0 beta (7A121l) y probando en iOS9.
Debido a que no puedo declarar específicamente qué URL quiero, como se ve en el video, sigo obteniendo "App Transport Security ha bloqueado una carga de recursos HTTP (http: //) en texto claro ya que no es seguro. Se pueden configurar excepciones temporales a través de la aplicación Archivo Info.plist "errores.
Sin embargo, parece que no puedo configurarlo. ¿Algunas ideas?
ios
objective-c
xcode
ios9
Chris P
fuente
fuente
Respuestas:
prueba con esto --- funcionó para mí en Xcode-beta 4 7.0
También una opción más, si desea deshabilitar ATS puede usar esto:
Pero esto no se recomienda en absoluto. El servidor debe tener los certificados SSL y para que no haya fugas de privacidad.
fuente
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
lo contrario, para mí no lo hizo el trabajo de versión de lanzamiento por alguna razónDebe agregar solo la clave NSAllowsArbitraryLoads a YES en el diccionario NSAppTransportSecurity en su archivo info.plist.
Por ejemplo,
fuente
Eso no estaba funcionando para mí, pero esto funcionó:
fuente
<true/>
lugar de<YES/>
</dict>
y</plist>
las etiquetas:Solo para aclarar ... Siempre debes usar httpS
Pero puede omitirlo agregando la excepción:
fuente
Xcode 8.2, iOS 10
fuente
Respuesta de actualización (después de wwdc 2016):
App Transport Security, o ATS, es una característica que Apple introdujo en iOS 9. Cuando ATS está habilitado, obliga a una aplicación a conectarse a servicios web a través de una conexión HTTPS en lugar de HTTP no seguro.
Sin embargo, los desarrolladores aún pueden desactivar ATS y permitir que sus aplicaciones envíen datos a través de una conexión HTTP como se menciona en las respuestas anteriores. A finales de 2016, Apple hará que ATS sea obligatorio para todos los desarrolladores que esperan enviar sus aplicaciones a la App Store. enlace
fuente
Esto permitirá conectarse a .com .net .org
fuente
fuente
Para explicar un poco más sobre la respuesta de ParaSara: la seguridad del transporte de aplicaciones se volverá obligatoria y tratar de desactivarla puede hacer que su aplicación sea rechazada.
Como desarrollador, puede desactivar la seguridad de App Transport si su código de red no funciona y desea continuar con otros desarrollos antes de solucionar cualquier problema. Digamos que en un equipo de cinco, cuatro pueden continuar trabajando en otras cosas mientras uno soluciona todos los problemas. También puede desactivar la seguridad de App Transport como herramienta de depuración si tiene problemas de red y desea verificar si son causados por la seguridad de App Transport. Tan pronto como sepa, debe volver a encenderlo de inmediato.
La solución que debe usar en el futuro es no usar http en absoluto, a menos que use un servidor de terceros que no sea compatible con https. Si su propio servidor no es compatible con https, Apple tendrá un problema con eso. Incluso con servidores de terceros, no apostaría a que Apple lo acepta.
Lo mismo con las diversas comprobaciones de seguridad del servidor. En algún momento, Apple solo aceptará excepciones justificables.
Pero sobre todo, considere esto: está poniendo en peligro la privacidad de sus clientes. Eso es un gran no-no en mi libro. No hagas eso. Arregle su código, no solicite permiso para ejecutar código inseguro.
fuente
Una mala noticia para los desarrolladores que usan NSAppTransportSecurity.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
fuente
En la línea de comandos de mac shell , use el siguiente comando:
El comando agregará todos los valores necesarios en su archivo plist.
fuente
XCODE 8, Swift 3: debe agregar una fila: **
** en la lista de propiedades info.plist inside information.
fuente
Xcode 9.2, Swift 4, esto funciona para mí.
fuente