Recebi esta mensagem ao selecionar compilar para testes internos. Diz sobre a configuração de ITSAppUsesNonExemptEncryption em info.plist , o que isso significa? isso é necessário?
Recebi esta mensagem ao selecionar compilar para testes internos. Diz sobre a configuração de ITSAppUsesNonExemptEncryption em info.plist , o que isso significa? isso é necessário?
Respostas:
Basicamente, <key>ITSAppUsesNonExemptEncryption</key><false/>
significa um valor booleano igual a NO.
Atualização por @JosepH: esse valor significa que o aplicativo não usa criptografia ou apenas criptografia isenta. Se seu aplicativo usa criptografia e não está isento, você deve definir esse valor como YES / true.
Às vezes, parece discutível quando um aplicativo é considerado usar criptografia.
De acordo com a distribuição WWDC2015, o que há de novo
Definir "ITSAppUsesNonExemptEncryption" como "NO" no info.plist funciona bem. se não houver conteúdo criptográfico no seu aplicativo.
Recebi esse pop-up Durante a seleção da compilação para testes internos, não incluí a chave "ITSAppUsesNonExemptEncryption" em meu info.plist, mas ainda funcionava para mim.
Mesmo que eu enviei com sucesso o novo aplicativo não incluiu as chaves "ITSEncryptionExportComplianceCode" e "ITSAppUsesNonExemptEncryption".
Também Apple Doc.
Importante: se o seu aplicativo exigir que você forneça documentos adicionais para a revisão de criptografia, ele não terá o status de Pronto para Venda na loja até que a Conformidade com a Exportação tenha analisado e aprovado seus documentos. O aplicativo não pode ser distribuído para testes de pré-lançamento até que a Exportação Conformidade tenha analisado e aprovado.
Se seu aplicativo não estiver usando criptografia e você não quiser responder a essas perguntas no momento do envio, forneça informações de conformidade de exportação com sua compilação. Você também pode fornecer documentação nova ou atualizada via iTunes Connect para receber o valor apropriado da string de chave a ser incluído na sua compilação antes de fazer o upload para o iTunes Connect.
Para adicionar documentação de conformidade à exportação no iTunes Connect:
Vá para a seção Criptografia em Recursos. Clique no sinal de adição ao lado da seção da plataforma apropriada. Responda as perguntas adequadamente. Anexe o arquivo quando solicitado. Clique em Save. Seus documentos serão enviados para revisão imediatamente e o status do seu documento será exibido na Revisão de conformidade. Um valor-chave também será gerado automaticamente e você poderá incluir no seu arquivo Info.plist. Para obter mais informações sobre como incluir o valor da chave na sua compilação, consulte a seção Recursos e ajuda sobre conformidade comercial.
Você pode carregar uma construção sem uma chave de conformidade de exportação. Se você incluir uma chave, isso pode indicar que você não precisa da documentação de conformidade de exportação; isso não requer aprovação. Se você incluir uma chave que faça referência a um documento de conformidade de exportação específico, esse documento deverá ser aprovado; não pode estar em revisão ou rejeitado.
Você pode revisar suas respostas a qualquer momento clicando no nome do arquivo do documento e selecionando Mais informações. Se você precisar atualizar sua documentação ou alterar alguma das respostas às perguntas, precisará repetir as etapas acima para adicionar um novo documento que corresponda às suas alterações.
Adicione esta chave no arquivo plist ... Tudo ficará bem ..
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Basta colar antes </dict></plist>
A Apple simplificou nosso processo de criação, para que você não precise clicar sempre na mesma caixa de seleção. Você pode otimizar seu fluxo iTC compilando esse sinalizador no aplicativo.
Este ainda é o caso a partir de 2019.
Existem basicamente duas coisas a ter em mente. Você só pode defini-lo como NÃO se não usar a criptografia , ou se fizer parte dos regulamentos isentos . Isso se aplica aos seguintes tipos de aplicativos:
Fonte: Câmara de Comércio : https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15
Aplicações para consumidores
- prevenção de pirataria e roubo de software ou música;
- música, filmes, músicas / músicas, fotos digitais - players, gravadores e organizadores
- jogos / jogos - dispositivos, software de execução, interfaces HDMI e outros componentes, ferramentas de desenvolvimento
- TV LCD, Blu-ray / DVD, vídeo sob demanda (VoD), cinema, gravadores de vídeo digital (DVRs) / gravadores de vídeo pessoal (PVRs) - dispositivos, guias de mídia on-line, proteção e integridade de conteúdo comercial, HDMI e outros componentes interfaces (não videoconferência);
- impressoras, copiadoras, scanners, câmeras digitais, câmeras na Internet - incluindo peças e submontagens
- utilidades e eletrodomésticos
Aplicações de negócios / sistemas: operações, integração e controle de sistemas. Alguns exemplos
automação de processos de negócios (BPA) - planejamento e programação de processos, gerenciamento da cadeia de suprimentos, estoque e entrega
transporte - segurança e manutenção, monitoramento de sistemas e controladores de bordo (incluindo aviação, ferrovia e sistemas automotivos comerciais), tecnologias de 'rodovia inteligente', operações de transporte público e cobrança de tarifas, etc.
sistemas industriais, de manufatura ou mecânicos - incluindo robótica, segurança de instalações, utilitários, fábricas e outros equipamentos pesados, controladores de sistemas de instalações, como alarmes de incêndio e HVAC
médico / clínico - incluindo aplicativos de diagnóstico, agendamento do paciente e confidencialidade dos registros de dados médicos
geociências aplicadas - mineração / perfuração, amostragem atmosférica / monitoramento climático, mapeamento / levantamento, barragens / hidrologia
Pesquisa / científica / analítica. Alguns exemplos:
gerenciamento de processos de negócios (BPM) - abstração e modelagem de processos de negócios
visualização / simulação / co-simulação científica (excluindo essas ferramentas para computação, redes, criptoanálise, etc.)
ferramentas de síntese de dados para ciências sociais, econômicas e políticas (por exemplo, econômicas, populacionais, mudanças climáticas globais, pesquisas de opinião pública, etc. previsão e modelagem)
Entrega e instalação seguras de propriedade intelectual. Alguns exemplos
auto-instaladores e atualizadores de download de software
proteção de produto com chave de licença e validação de compra semelhante
design de software e hardware proteção IP
software de desenho assistido por computador (CAD) e outras ferramentas de desenho
Nota: esses regulamentos também são verdadeiros para testar seu aplicativo usando TestFlight
O mesmo erro resolvido assim
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);
}
}
A Apple mudou as regras sobre isso. Li todos os documentos da Apple e todos os registros de exportação dos EUA que pude encontrar.
Minha opinião sobre isso foi, até recentemente, usar HTTPS para a maioria dos aplicativos significava que a Apple exigiria o certificado de exportação. Alguns aplicativos, como serviços bancários, seriam aceitáveis, mas para muitos aplicativos eles não se enquadravam na categoria de exceção, que é muito, muito ampla.
No entanto, a Apple agora introduziu um getout na categoria de isenção para aplicativos que APENAS usam https. Não sei quando eles fizeram isso, mas acho que foi em dezembro de 2016 ou janeiro de 2017. Agora estamos enviando nossos aplicativos sem o certificado do governo dos EUA.