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?
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?
Respuestas:
Básicamente <key>ITSAppUsesNonExemptEncryption</key><false/>
representa un valor booleano igual a NO.
Actualización de @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.
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í este mensaje 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" y "ITSAppUsesNonExemptEncryption".
También Apple Doc.
Importante: si su aplicación requiere que proporcione documentos adicionales para la revisión del 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 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 al lado de la sección de plataforma correspondiente. Responda las preguntas apropiadamente. Adjunte el archivo cuando se le solicite. Clic en Guardar. Sus documentos serán enviados para su revisión inmediata 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 de 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.
Agregue esta clave en el archivo plist ... Todo estará bien ...
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Solo pegue antes </dict></plist>
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 hay 2 cosas a tener en cuenta. Sólo se le permite configurarlo para que NO si bien no usa cifrado en absoluto , o si son parte de las regulaciones exentos . 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, represas / hidrología
Investigación / científica / analítica. Algunos ejemplos:
gestión de procesos de negocio (BPM): abstracción y modelado de procesos de negocio
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);
}
}
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.