it-swarm.com.ru

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

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

enter image description here

195
Avijit Nagare

По данным WWDC2015 Distribution Что нового

enter image description here

Установка "ITSAppUsesNonExemptEncryption" в "NO" в info.plist работает нормально. если в вашем приложении нет криптографического контента.

enter image description here

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

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

Также Apple Doc.

Важное замечание: Если ваше приложение требует, чтобы вы предоставили дополнительные документы для проверки шифрования, ваше приложение не будет иметь статус Готов к продаже в магазине до тех пор, пока Export Compliance не рассмотрит и не утвердит ваши документы. Приложение нельзя распространять для предварительного тестирования до тех пор, пока Export Compliance не проверит и не одобрит его.

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

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

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

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

enter image description here

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

56
Avijit Nagare

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

info.plist value

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

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

189
Elijah Saounkine

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

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

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

43
Akshay Phulare

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

Это все еще имеет место по состоянию на 2019 год.

23
Pedro Góes

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

приложение использует неисключительное шифрование

13
mriaz0011

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

Источник: Торговая палата : https: //www.bis.doc. г/index.php/политика руководство/шифрование/шифрования FAQs # 15

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

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

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

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

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

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

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

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

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

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

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

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

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

  • автоустановщики загрузки и обновления ПО

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

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

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

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

11
productioncoder

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

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

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

4
Rob Willett

Та же ошибка решена следующим образом

enter image description here

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

}
4
Rıfat Erdem Sahin