Я получил это сообщение, выбирая сборку для внутреннего тестирования. Он говорит о настройке ITSAppUsesNonExemptEncryption в info.plist, что это значит? это необходимо?
ITSAppUsesNonExemptEncryption соответствие экспорта при внутреннем тестировании?
Ответ 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.
Обновление @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 года. Теперь мы отправляем наши приложения без сертификата из правительства США.