update transferir para delete application app ios objective-c itunesconnect

ios - transferir - ¿Cumplimiento de la exportación de ITSAppUsesNonExemptEncryption durante las pruebas internas?



upload ipa to app store (8)

Recibí este mensaje al seleccionar la compilación para pruebas internas. Dice sobre la configuración de ITSAppUsesNonExemptEncryption en info.plist, ¿qué significa? ¿es necesario?


Agregue esta clave en el archivo plist ... Todo estará bien ...

<key>ITSAppUsesNonExemptEncryption</key> <false/>

Solo pegue antes </dict></plist>


Apple ha cambiado las reglas sobre esto. Leí todos los documentos de Apple y todos los registros de exportación de EE. UU. Que pude encontrar.

Mi opinión sobre esto era hasta hace poco, incluso el uso de HTTPS para la mayoría de las aplicaciones significaba que Apple requeriría el certificado de exportación. Algunas aplicaciones, como la banca, estarían bien, pero para muchas aplicaciones no cayeron en la categoría de excedente, que es muy, muy amplia.

Sin embargo, Apple ahora ha introducido una salida en la categoría de exención para aplicaciones que SOLO usan https. No sé cuándo hicieron esto, pero creo que fue en diciembre de 2016 o en enero de 2017. Ahora estamos enviando nuestras aplicaciones sin el certificado del Gobierno de EE. UU.


Apple ha simplificado nuestro proceso de construcción, por lo que no necesita hacer clic en la misma casilla de verificación cada vez. Puede optimizar su flujo de iTC compilando este indicador en la aplicación.

Este sigue siendo el caso a partir de 2019.


Básicamente <key>ITSAppUsesNonExemptEncryption</key><false/> representa un valor booleano igual a NO.

Actualización por @JosepH: este valor significa que la aplicación no utiliza cifrado, o solo cifrado exento. Si su aplicación utiliza cifrado y no está exenta, debe establecer este valor en SÍ / verdadero.

A veces parece discutible cuando se considera que una aplicación usa cifrado.


Básicamente hay 2 cosas a tener en cuenta. Solo se le permite establecerlo en NO si no utiliza el cifrado en absoluto o si forma parte de las reglamentaciones exentas . Esto se aplica al siguiente tipo de aplicaciones:

Fuente: Cámara de Comercio : https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

Aplicaciones de consumo

  • piratería y prevención de robo de software o música;
  • música, películas, melodías / música, fotos digitales: reproductores, grabadores y organizadores
  • juegos / juegos: dispositivos, software de tiempo de ejecución, HDMI y otras interfaces de componentes, herramientas de desarrollo
  • TV LCD, Blu-ray / DVD, video a pedido (VoD), cine, grabadoras de video digital (DVR) / grabadoras de video personales (PVR) - dispositivos, guías de medios en línea, integridad y protección de contenido comercial, HDMI y otros componentes interfaces (no videoconferencia);
  • impresoras, fotocopiadoras, escáneres, cámaras digitales, cámaras de Internet, incluidas piezas y subconjuntos
  • utilidades y electrodomésticos

Aplicaciones de negocios / sistemas: operaciones de sistemas, integración y control. Algunos ejemplos

  • Business Process Automation (BPA): planificación y programación de procesos, gestión de la cadena de suministro, inventario y entrega

  • transporte: seguridad y mantenimiento, monitoreo de sistemas y controladores a bordo (incluidos los sistemas automotrices de aviación, ferroviarios y comerciales), tecnologías de ''autopistas inteligentes'', operaciones de transporte público y cobro de tarifas, etc.

  • sistemas industriales, de fabricación o mecánicos, que incluyen robótica, seguridad de plantas, servicios públicos, fábricas y otros equipos pesados, controladores de sistemas de instalaciones como alarmas contra incendios y HVAC

  • médico / clínico, incluidas las aplicaciones de diagnóstico, la programación del paciente y la confidencialidad de los registros de datos médicos

  • geociencias aplicadas: minería / perforación, muestreo atmosférico / monitoreo del clima, mapeo / topografía, presas / hidrología

Investigación / científica / analítica. Algunos ejemplos:

  • gestión de procesos empresariales (BPM): abstracción y modelado de procesos empresariales

  • visualización científica / simulación / co-simulación (excluyendo tales herramientas para computación, redes, criptoanálisis, etc.)

  • herramientas de síntesis de datos para ciencias sociales, económicas y políticas (p. ej., economía, población, cambio climático global, encuestas de opinión pública, etc. predicción y modelado)

Entrega e instalación segura de propiedad intelectual. Algunos ejemplos

  • instaladores automáticos y actualizadores de descarga de software

  • protección de producto de clave de licencia y validación de compra similar

  • diseño de software y hardware protección IP

  • software de diseño asistido por computadora (CAD) y otras herramientas de dibujo

Nota: Estas regulaciones también son ciertas para probar su aplicación usando TestFlight


El mismo error resuelto así

using UnityEngine; using System.Collections; using UnityEditor.Callbacks; using UnityEditor; using System; using UnityEditor.iOS.Xcode; using System.IO; public class AutoIncrement : MonoBehaviour { [PostProcessBuild] public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject) { if (buildTarget == BuildTarget.iOS) { // Get plist string plistPath = pathToBuiltProject + "/Info.plist"; var plist = new PlistDocument(); plist.ReadFromString(File.ReadAllText(plistPath)); // Get root var rootDict = plist.root; // Change value of NSCameraUsageDescription in Xcode plist var buildKey = "NSCameraUsageDescription"; rootDict.SetString(buildKey, "Taking screenshots"); var buildKey2 = "ITSAppUsesNonExemptEncryption"; rootDict.SetString(buildKey2, "false"); // Write to file File.WriteAllText(plistPath, plist.WriteToString()); } } // Use this for initialization void Start () { } // Update is called once per frame void Update () { } [PostProcessBuild] public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) { //A new build has happened so lets increase our version number BumpBundleVersion(); } // Bump version number in PlayerSettings.bundleVersion private static void BumpBundleVersion() { float versionFloat; if (float.TryParse(PlayerSettings.bundleVersion, out versionFloat)) { versionFloat += 0.01f; PlayerSettings.bundleVersion = versionFloat.ToString(); } } [MenuItem("Leman/Build iOS Development", false, 10)] public static void CustomBuild() { BumpBundleVersion(); var levels= new String[] { "Assets//ShootTheBall//Scenes//MainScene.unity" }; BuildPipeline.BuildPlayer(levels, "iOS", BuildTarget.iOS, BuildOptions.Development); } }


Para seleccionar del menú desplegable, comience a escribir la siguiente línea:

La aplicación utiliza cifrado no exento


Según WWDC2015 Distribución ¿ Qué hay de nuevo?

Establecer "ITSAppUsesNonExemptEncryption" en "NO" en info.plist funciona bien. si no hay contenido criptográfico en su aplicación.

Recibí esta ventana emergente Durante la selección de la compilación para pruebas internas, no incluí la clave "ITSAppUsesNonExemptEncryption" en mi info.plist, pero aún así funcionó para mí.

Incluso si cargué correctamente la nueva aplicación no incluía las claves "ITSEncryptionExportComplianceCode" e "ITSAppUsesNonExemptEncryption".

También Apple Doc.

Importante: si su aplicación requiere que proporcione documentos adicionales para la revisión de cifrado, su aplicación no tendrá el estado Listo para la venta en la tienda hasta que Export Compliance haya revisado y aprobado sus documentos. La aplicación no se puede distribuir para las pruebas preliminares hasta que Export Compliance haya revisado y aprobado.

Si su aplicación no usa cifrado y no desea tener que responder estas preguntas en el momento del envío, puede proporcionar información de cumplimiento de exportación con su compilación. También puede proporcionar documentación nueva o actualizada a través de iTunes Connect para recibir el valor de cadena de clave apropiado para incluir con su compilación antes de cargarlo en iTunes Connect.

Para agregar documentación de cumplimiento de exportación en iTunes Connect:

Vaya a la sección Cifrado en Características. Haga clic en el signo más junto a la sección de plataforma adecuada. Responda las preguntas apropiadamente. Adjunte el archivo cuando se le solicite. Clic en Guardar. Sus documentos se enviarán a revisión de inmediato y el estado de su documento se mostrará en la Revisión de cumplimiento. También se generará automáticamente un valor clave que puede incluir en su archivo Info.plist. Para obtener más información sobre cómo incluir el valor clave en su compilación, consulte la sección Recursos y ayuda Cumplimiento comercial.

Puede cargar una compilación sin una clave de cumplimiento de exportación. Si incluye una clave, puede indicar que no necesita documentación de cumplimiento de exportación; Esto no requiere aprobación. Si incluye una clave que hace referencia a un documento de cumplimiento de exportación específico, ese documento debe ser aprobado; no puede estar en revisión o rechazado.

Puede revisar sus respuestas en cualquier momento haciendo clic en el nombre del archivo del documento y seleccionando Más información. Si necesita actualizar su documentación o cambiar alguna de las respuestas a las preguntas, deberá repetir los pasos anteriores para agregar un nuevo documento que corresponda con sus cambios.