ios 内部测试时 ITSAppUsesNonExemptEncryption 出口合规性?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35739361/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 08:38:29  来源:igfitidea点击:

ITSAppUsesNonExemptEncryption export compliance while internal testing?

iosobjective-capp-store-connect

提问by Avijit Nagare

I got this message while selecting build for internal testing.it says about setting ITSAppUsesNonExemptEncryptionin info.plist what does it mean? is it necessary?

我在为内部测试选择构建时收到此消息。它说关于在 info.plist 中设置ITSAppUsesNonExemptEncryption是什么意思?有必要吗?

enter image description here

在此处输入图片说明

采纳答案by Avijit Nagare

According to WWDC2015 Distribution Whats New

根据 WWDC2015 分发最新消息

enter image description here

在此处输入图片说明

Setting "ITSAppUsesNonExemptEncryption" to "NO" in info.plist works fine. if no cryptographic content in your app.

在 info.plist 中将“ITSAppUsesNonExemptEncryption”设置为“NO”工作正常。如果您的应用程序中没有加密内容。

enter image description here

在此处输入图片说明

I had got this pop up During selecting build for internal testing i didn't included "ITSAppUsesNonExemptEncryption" key in my info.plist but still worked for me.

在为内部测试选择构建时,我有这个弹出窗口,我没有在 info.plist 中包含“ITSAppUsesNonExemptEncryption”键,但仍然对我有用。

Even i successfully uploaded new application didn't included "ITSEncryptionExportComplianceCode" and "ITSAppUsesNonExemptEncryption" keys.

即使我成功上传了新应用程序,也没有包含“ITSEncryptionExportComplianceCode”和“ITSAppUsesNonExemptEncryption”密钥。

Also Apple Doc.

还有苹果文档。

Important: If your app requires that you provide additional documents for the encryption review, your app won't have the Ready for Sale status on the store until Export Compliance has reviewed and approved your documents. The app can't be distributed for prerelease testing until Export Compliance has reviewed and approved it.

重要提示:如果您的应用程序要求您提供其他文件以进行加密审核,则在出口合规性审核并批准您的文件之前,您的应用程序在商店中不会具有“准备销售”状态。在出口合规并批准该应用程序之前,无法分发该应用程序以进行预发布测试。

If your app is not using encryption and you don't want to have to answer these questions at the time of submission, you can provide export compliance information with your build. You can also provide new or updated documentation via iTunes Connect to receive the appropriate key string value to include with your build before uploading it to iTunes Connect.

如果您的应用未使用加密,并且您不想在提交时回答这些问题,则可以在构建中提供出口合规性信息。您还可以通过 iTunes Connect 提供新的或更新的文档,以便在将其上传到 iTunes Connect 之前接收适当的密钥字符串值以包含在您的构建中。

To add export compliance documentation in iTunes Connect:

要在 iTunes Connect 中添加出口合规性文档:

Go to the Encryption section under Features. Click the plus sign next to the appropriate platform section. Answer the questions appropriately. Attach the file when prompted. Click Save. Your documents will then be sent for review immediately and the status of your document will show in Compliance Review. A key value will also be generated automatically that you can include in your Info.plist file. For more information on including the key value with your build, see the Resources and Help section Trade Compliance.

转到功能下的加密部分。单击相应平台部分旁边的加号。适当回答问题。出现提示时附加文件。单击保存。然后您的文件将立即发送以供审核,您的文件状态将显示在合规审核中。还会自动生成一个键值,您可以将其包含在 Info.plist 文件中。有关在构建中包含关键值的更多信息,请参阅资源和帮助部分贸易合规性。

You can upload a build without an export compliance key. If you include a key, it can indicate that you do not need export compliance documentation; this requires no approval. If you include a key that references a specific export compliance document, that document must be approved; it cannot be in In Review or Rejected.

您可以在没有导出合规性密钥的情况下上传构建。如果您包含密钥,则表示您不需要出口合规文件;这不需要批准。如果您包含引用特定出口合规文件的密钥,则该文件必须获得批准;它不能在中或被拒绝中。

enter image description here

在此处输入图片说明

You can review your answers at any time by clicking the document file name and selecting More Information. If you need to update your documentation or change any of the answers to the questions, you will need to repeat the steps above to add a new document that corresponds with your changes.

您可以随时通过单击文档文件名并选择更多信息来查看您的答案。如果您需要更新文档或更改问题的任何答案,则需要重复上述步骤以添加与您的更改相对应的新文档。

回答by Elijah Saounkine

Basically <key>ITSAppUsesNonExemptEncryption</key><false/>stands for a Boolean value equal to NO.

基本上<key>ITSAppUsesNonExemptEncryption</key><false/>代表等于 NO 的布尔值。

info.plist value

info.plist 值

Update by @JosepH: This value means that the app uses no encryption, or only exempt encryption. If your app uses encryption and is not exempt, you must set this value to YES/true.

@JosepH 更新:此值表示该应用程序不使用加密,或仅使用免除加密。如果您的应用程序使用加密且未被豁免,则必须将此值设置为 YES/true。

It seems debatable sometimes when an app is considered to use encryption.

当一个应用程序被认为使用加密时,有时似乎有争议。

回答by Akshay Phulare

Add this key in plist file...Everything will be alright..

在 plist 文件中添加这个键......一切都会好的..

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

Just paste before </dict></plist>

之前贴一下 </dict></plist>

回答by Pedro Góes

Apple has simplified our building process, so you don't need to click on the same checkbox every time. You can streamline your iTC flow by compiling this flag into the app.

Apple 简化了我们的构建过程,因此您无需每次都单击同一个复选框。您可以通过将此标志编译到应用程序中来简化您的 iTC 流程。

This is still the case as of 2019.

截至 2019 年,情况仍然如此。

回答by mriaz0011

To select from dropdown please start typing following line:

要从下拉列表中选择,请开始输入以下行:

App Uses Non-Exempt Encryption

应用程序使用非豁免加密

回答by productioncoder

There are basically 2 things to bear in mind. You are only allowed to set it to NO if you either don't use encryption at all, or you are part of the exempt regulations. This applies to the following kind of applications:

基本上有两件事要记住。如果您根本不使用加密或者您是豁免法规的一部分,则只允许将其设置为 NO 。这适用于以下类型的应用程序:

Source: Chamber of Commerce: https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

来源:商会https: //www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

Consumer applications

  • piracy and theft prevention for software or music;
  • music, movies, tunes/music, digital photos – players, recorders and organizers
  • games/gaming – devices, runtime software, HDMI and other component interfaces, development tools
  • LCD TV, Blu-ray / DVD, video on demand (VoD), cinema, digital video recorders (DVRs) / personal video recorders (PVRs) – devices, on-line media guides, commercial content integrity and protection, HDMI and other component interfaces (not videoconferencing);
  • printers, copiers, scanners, digital cameras, Internet cameras – including parts and sub-assemblies
  • household utilities and appliances

Business / systems applications: systems operations, integration and control. Some examples

  • business process automation (BPA) – process planning and scheduling, supply chain management, inventory and delivery

  • transportation – safety and maintenance, systems monitoring and on-board controllers (including aviation, railway, and commercial automotive systems), ‘smart highway' technologies, public transit operations and fare collection, etc.

  • industrial, manufacturing or mechanical systems - including robotics, plant safety, utilities, factory and other heavy equipment, facilities systems controllers such as fire alarms and HVAC

  • medical / clinical – including diagnostic applications, patient scheduling, and medical data records confidentiality

  • applied geosciences – mining / drilling, atmospheric sampling / weather monitoring, mapping / surveying, dams / hydrology

Research /scientific /analytical. Some examples:

  • business process management (BPM) – business process abstraction and modeling

  • scientific visualization / simulation / co-simulation (excluding such tools for computing, networking, cryptanalysis, etc.)

  • data synthesis tools for social, economic, and political sciences (e.g., economic, population, global climate change, public opinion polling, etc. forecasting and modeling)

Secure intellectual property delivery and installation. Some examples

  • software download auto-installers and updaters

  • license key product protection and similar purchase validation

  • software and hardware design IP protection

  • computer aided design (CAD) software and other drafting tools

消费类应用

  • 软件或音乐的盗版和防盗;
  • 音乐、电影、曲调/音乐、数码照片——播放器、录音机和组织者
  • 游戏/游戏——设备、运行时软件、HDMI 和其他组件接口、开发工具
  • 液晶电视、蓝光 / DVD、视频点播 (VoD)、影院、数字录像机 (DVR) / 个人录像机 (PVR) – 设备、在线媒体指南、商业内容完整性和保护、HDMI 和其他组件接口(不是视频会议);
  • 打印机、复印机、扫描仪、数码相机、互联网相机——包括零件和子组件
  • 家庭公用事业和电器

业务/系统应用:系统操作、集成和控制。一些例子

  • 业务流程自动化 (BPA) – 流程规划和调度、供应链管理、库存和交付

  • 交通——安全和维护、系统监控和车载控制器(包括航空、铁路和商用汽车系统)、“智能高速公路”技术、公共交通运营和收费等。

  • 工业、制造或机械系统——包括机器人、工厂安全、公用事业、工厂和其他重型设备、设施系统控制器,如火警和暖通空调

  • 医疗/临床 – 包括诊断应用程序、患者安排和医疗数据记录保密性

  • 应用地球科学——采矿/钻探、大气采样/天气监测、测绘/测量、大坝/水文

研究/科学/分析。一些例子:

  • 业务流程管理(BPM)——业务流程抽象和建模

  • 科学可视化/模拟/联合模拟(不包括用于计算、网络、密码分析等的工具)

  • 社会、经济和科学的数据综合工具(例如,经济、人口、全球气候变化、民意调查等,预测和建模)

安全的知识产权交付和安装。一些例子

  • 软件下载自动安装程序和更新程序

  • 许可证密钥产品保护和类似的购买验证

  • 软硬件设计 IP 保护

  • 计算机辅助设计 (CAD) 软件和其他绘图工具

Note: These regulations are also true for testing your app using TestFlight

注意:这些规定也适用于使用 TestFlight

回答by R?fat Erdem Sahin

The same error solved like this

同样的错误解决了这样

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

}

回答by Rob Willett

Apple has changed the rules on this. I read through all the Apple docs and as many of the US export regs as I could find.

苹果已经改变了这方面的规则。我通读了所有 Apple 文档和尽可能多的美国出口法规。

My view on this was until recently even using HTTPS for most apps meant Apple would require the export certificate. Some apps such as banking would be OK but for many apps they did not fall into the excempt category which is very, very broad.

我对此的看法是,直到最近,即使对大多数应用程序使用 HTTPS 也意味着 Apple 需要出口证书。某些应用程序(例如银行业务)还可以,但对于许多应用程序而言,它们不属于非常非常广泛的例外类别。

However Apple has now introduced a getout under the exempt category for apps that JUST use https. I do not know when they did this but I think it was either Dec 2016 or Jan 2017. We are now submitting our apps without the certificate from the US Govt.

但是,Apple 现在为仅使用 https 的应用程序引入了豁免类别下的 getout。我不知道他们是什么时候这样做的,但我认为是 2016 年 12 月或 2017 年 1 月。我们现在正在提交我们的应用程序,而没有美国政府的证书。