ITSAppUsesNonExemptEncryption соответствие экспорта при внутреннем тестировании?

Я получил это сообщение, выбирая сборку для внутреннего тестирования. Он говорит о настройке ITSAppUsesNonExemptEncryption в info.plist, что это значит? это необходимо?

введите описание изображения здесь

Ответ 1

В соответствии с WWDC2015 Распространение Что нового

введите описание изображения здесь

Настройка "ITSAppUsesNonExemptEncryption" на "НЕТ" в работах info.plist хорошо. если в вашем приложении нет криптографического содержимого.

введите описание изображения здесь

У меня появилось это всплывающее окно. Во время выбора сборки для внутреннего тестирования я не включил ключ ITSAppUsesNonExemptEncryption в свой info.plist, но все же работал у меня.

Даже я успешно загрузил новое приложение, которое не включало ключи "ITSEncryptionExportComplianceCode" и "ITSAppUsesNonExemptEncryption".

Также Apple Doc.

Важно. Если вашему приложению требуется предоставить дополнительные документы для проверки шифрования ваше приложение не будет готово к продаже статуса в магазине до проверки соответствия ваши документы. Приложение не может быть распространено для предварительного тестирования пока экспортное соответствие не пересмотрело и не одобрило его.

Если ваше приложение не использует шифрование, и вы не хотите отвечать на эти вопросы во время отправки, вы можете предоставить информацию о соответствии требованиям экспорта своей сборке. Вы также можете предоставить новую или обновленную документацию через iTunes Connect, чтобы получить соответствующее значение строки строки, которое будет включено в вашу сборку, прежде чем загружать ее в iTunes Connect.

Чтобы добавить документацию по соблюдению экспорта в iTunes Connect:

Перейдите в раздел Шифрование в разделе "Функции". Щелкните знак плюса рядом с соответствующей секцией платформы. Ответьте на вопросы соответствующим образом. Приложите файл при появлении запроса. Нажмите "Сохранить". Затем ваши документы будут отправлены на проверку и статус вашего документа будет отображаться в обзоре соответствия. Также будет автоматически генерироваться ключевое значение, которое вы можете включить в свой файл Info.plist. Для получения дополнительной информации о включении ключевого значения в вашу сборку см. Раздел "Ресурсы" и "Справка по торговле".

Вы можете загрузить сборку без ключа соответствия экспорта. Если вы включите ключ, это может указывать на то, что вам не нужна документация о соответствии требованиям экспорта; это не требует одобрения. Если вы включаете ключ, который ссылается на конкретный документ соответствия экспорта, этот документ должен быть одобрен; он не может быть включен в "Обзор" или "Отклонено".

введите здесь описание изображения

Вы можете просмотреть свои ответы в любое время, щелкнув имя файла документа и выбрав "Дополнительная информация". Если вам необходимо обновить свою документацию или изменить какие-либо ответы на вопросы, вам нужно будет повторить описанные выше шаги, чтобы добавить новый документ, соответствующий вашим изменениям.

Ответ 2

В основном <key>ITSAppUsesNonExemptEncryption</key><false/> означает логическое значение, равное NO.

info.plist value

Обновление @JosepH: это значение означает, что приложение не использует шифрование или только освобождает шифрование. Если ваше приложение использует шифрование и не освобождено, вы должны установить это значение в YES/true.

Кажется спорным иногда, когда считается, что приложение использует шифрование.

Ответ 3

Добавьте этот ключ в файл plist... Все будет в порядке..

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

Просто вставьте перед </dict></plist>

Ответ 4

Apple упростила наш процесс строительства, поэтому вам не нужно каждый раз нажимать на один и тот же флажок. Вы можете оптимизировать поток iTC, скомпилировав этот флаг в приложении.

Ответ 5

В основном есть две вещи. Вам разрешено указывать НЕТ, если вы не используете шифрование вообще, , или вы являетесь частью освобожденных правил. Это относится к следующим типам приложений:

Источник: Торгово-промышленная палата: https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

Потребительские приложения

  • предотвращение пиратства и краж для программного обеспечения или музыки;
  • музыка, фильмы, мелодии/музыка, цифровые фотографии - игроки, рекордеры и организаторы.
  • игры/игры - устройства, программное обеспечение времени выполнения, HDMI и другие интерфейсы компонентов, средства разработки.
  • ЖК-телевизор, Blu-ray/DVD, видео по запросу (VoD), кинотеатр, цифровые видеомагнитофоны/видеомагнитофоны (PVR) - устройства, онлайн медиа-гидов, целостность и защиту коммерческого контента, HDMI и другие интерфейсы компонентов (а не видеоконференции);
  • принтеры, копиры, сканеры, цифровые камеры, интернет-камеры - в том числе части и узлы.
  • коммунальные услуги и бытовая техника

Бизнес/системные приложения: системные операции, интеграция и управление. Некоторые примеры

  • автоматизация бизнес-процессов (BPA) - планирование и планирование процессов, управление цепочками поставок, инвентаризация и доставка

  • транспорт - безопасность и обслуживание, системный мониторинг и бортовые контроллеры (включая авиационные, железнодорожные и коммерческие автомобильные системы), "интеллектуальные технологии шоссейных дорог, общественный транспорт" операции и сбор за проезд и т.д.

  • промышленные, производственные или механические системы, включая робототехнику, безопасность установки, коммунальные услуги, factory и другое тяжелое оборудование, систем системных контроллеров, таких как пожарная сигнализация и HVAC

  • медицинские/клинические - включая диагностические приложения, планирование пациентов и конфиденциальность данных медицинских данных

  • прикладные геологические науки - добыча/бурение, атмосферный отбор проб/мониторинг погоды, картографирование/съемка, плотины/гидрология

Исследование/научное/аналитическое. Некоторые примеры:

  • управление бизнес-процессами (BPM) - абстракция бизнес-процессов и моделирование

  • научная визуализация/имитация/совместное моделирование (исключая такие инструменты для вычислений, сетей, криптоанализа и т.д.)

  • инструменты для синтеза данных для социальных, экономических и политических наук (например, экономические, демографические, глобальные изменения климата, общественное мнение опрос и т.д. прогнозирование и моделирование)

Безопасная доставка и установка интеллектуальной собственности. Некоторые примеры

  • скачать авто-инсталляторы и обновления

  • защита продукта лицензионного ключа и аналогичная проверка покупки

  • программно-аппаратный дизайн Защита IP

  • программное обеспечение для автоматизированного проектирования (САПР) и другие редакционные инструменты

Примечание. Эти правила также верны для тестирования вашего приложения с помощью TestFlight

Ответ 6

Чтобы выбрать из раскрывающегося списка, начните вводить следующую строку:

Приложение использует невосстанавливаемое шифрование

Ответ 7

Такая же ошибка решена, как эта

введите описание изображения здесь

    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);
    }

}

Ответ 8

Apple изменила правила по этому поводу. Я прочитал все документы Apple и многие из экспортных regs США, как я мог найти.

Мой взгляд на это до недавнего времени даже с использованием HTTPS для большинства приложений означал, что Apple потребует сертификат экспорта. Некоторые приложения, такие как банковское дело, будут в порядке, но для многих приложений они не попадают в категорию excempt, которая очень и очень широкая.

Однако Apple теперь внедрила getout в категорию исключений для приложений, которые просто используют https. Я не знаю, когда они это сделали, но я думаю, что это был либо декабрь 2016 года, либо январь 2017 года. Теперь мы отправляем наши приложения без сертификата из правительства США.