¿Cómo agregar NSExceptionDomains a plist of xcode Versión 7.0.1?

Me gustaría agrupar un website basado en HTML como una aplicación de iPhone que utiliza Xcode Versión 7.0.1, todo funciona bien y mi único problema es que cuando pruebo la aplicación en iPhone 4s, no muestra imágenes a las que se accede a través de http . Sin embargo, pude acceder a las imágenes de otro website que proporciona acceso https a sus imágenes.

¿Hay alguna forma de agregar soporte http al package?

Actualizar

NSExceptionDomains a mi file Plist, pero aún tengo el mismo problema

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDisplayName</key> <string>My Project</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIcons</key> <dict/> <key>CFBundleIcons~ipad</key> <dict/> <key>CFBundleIdentifier</key> <string>com.myproject.names</string> <key>CFBundleInfoDictionaryVersion</key> <string>1.0</string> <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>1.0.1</string> <key>CFBundleSignature</key> <string>myproject</string> <key>CFBundleVersion</key> <string>1.1</string> <key>LSRequiresIPhoneOS</key> <true/> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> <key>UIMainStoryboardFile</key> <string>Main_iPhone</string> <key>UIMainStoryboardFile~ipad</key> <string>Main_iPad</string> <key>UIRequiresFullScreen</key> <string>YES</string> <key>UIStatusBarHidden</key> <false/> <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>appanalytics.embarcadero.com</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key><true/> </dict> </dict> </dict> </dict> </plist> 

También intenté seguir basado en esta pregunta

 <dict> <key>NSExceptionDomains</key> <dict> <key>mydomain.com</key> <dict> <!--Include to allow subdomains--> <key>NSIncludesSubdomains</key> <true/> <!--Include to allow HTTP requests--> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!--Include to specify minimum TLS version--> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> 

Actualizar

Agregué el código mencionado aquí pero aún tengo el mismo problema.

Actualizar

Como sugerí, cambié el plist a siguiente, pero aún tiene el mismo problema. Además, agregué http: // a los valores de las tags key en vano.

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDisplayName</key> <string>My Project</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIcons</key> <dict/> <key>CFBundleIcons~ipad</key> <dict/> <key>CFBundleIdentifier</key> <string>com.myproject.names</string> <key>CFBundleInfoDictionaryVersion</key> <string>1.0</string> <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>3.1.6</string> <key>CFBundleSignature</key> <string>myproject</string> <key>CFBundleVersion</key> <string>1.2</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UIMainStoryboardFile</key> <string>Main_iPhone</string> <key>UIMainStoryboardFile~ipad</key> <string>Main_iPad</string> <key>UIRequiresFullScreen</key> <string>YES</string> <key>UIStatusBarHidden</key> <false/> <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>myproject.com.ca</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> <key>myproject.com.ca</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict> </dict> </plist> 

En primer lugar, su Info.plist tiene dos pares key-valor de NSAppTransportSecurity separados. Deberías arreglar eso, así que solo hay un par.

Su pregunta no dice de qué dominios se cargan sus imágenes. Sería más fácil dar una respuesta específica si pudiera include esta información.

Si, por ejemplo, sus imágenes se cargan desde example.com o subdominios, puede agregar una exception de la siguiente manera:

 <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>appanalytics.embarcadero.com</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> <key>example.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict> 

Si no sabe de antemano de qué dominios se cargarán las imágenes, entonces puede permitir el acceso HTTP a todos los dominios:

 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSExceptionDomains</key> <dict> <key>appanalytics.embarcadero.com</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict> 

Tenga en count que, aunque la inclusión de appanalytics.embarcadero.com en este segundo ejemplo es técnicamente networkingundante, se recomienda especificar excepciones ATS para todos los dominios conocidos a los que accederá su aplicación.

Puede leer este tutorial sobre cómo configurar la Seguridad de transporte de aplicaciones o simplemente puede permitir todo como antes agregando el Diccionario "NSAppTransportSecurity" con una key booleana llamada "NSAllowsArbitraryLoads" con el valor "SÍ" en su info.plist.

Su nombre de key es NSExceptionAllowsInsecureHTTPLoads pero debería ser NSTemporaryExceptionAllowsInsecureHTTPLoads

Además, intentaste agregar

 <key>NSExceptionRequiresForwardSecrecy</key> <false/> 

a la key del dominio ATS?
Algunos dominios lo requieren.