内部测试时ITSAppUsesNonExemptEncryption导出合规性?

Avi*_*are 205 itunesconnect objective-c ios

我在为内部测试选择构建时得到了这条消息.有关在info.plist中设置ITSAppUsesNonExemptEncryption的含义是什么意思?有必要吗?

在此输入图像描述

Eli*_*ine 207

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

info.plist值

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

当应用程序被认为使用加密时,它似乎有争议.

  • 如果您使用https,通常不需要将此设置为YES.[见第5类第2部分的注释4](http://www.bis.doc.gov/index.php/policy-guidance/encryption/identifying-encryption-items).在大多数情况下,如果应用程序的主要目的不是加密,您可以将值设置为NO.这里有一些警告,比如你是否愿意根据"有关当局"的要求放弃信息,所以请仔细阅读. (23认同)
  • HTTPS加密是在操作系统层面实现的;应用程序不会陷入实际加密数据的麻烦。据我了解,本·凯恩的建议是正确的。 (3认同)
  • 将"ITSAppUsesNonExemptEncryption"设置为false/NO并不意味着应用中的加密未更改.这意味着该应用程序不使用加密,或仅免除加密.如果您的应用使用加密并且不能免除,则必须将此值设置为YES/true.很少有应用可以将此设置为NO; 例如,如果您的应用程序的任何部分使用https,您几乎肯定需要说YES.请参阅http://stackoverflow.com/questions/2135081/does-my-application-contain-encryption (2认同)

Avi*_*are 59

根据WWDC2015分布的新内容

在此输入图像描述

在info.plist中将"ITSAppUsesNonExemptEncryption"设置为"NO"可以正常工作.如果您的应用中没有加密内容.

在此输入图像描述

我有弹出窗口在选择构建内部测试时我没有在我的info.plist中包含"ITSAppUsesNonExemptEncryption"键但仍然适用于我.

即使我成功上传新应用程序也没有包含"ITSEncryptionExportComplianceCode"和"ITSAppUsesNonExemptEncryption"键.

还有Apple Doc.

重要提示:如果您的应用要求您提供加密审核的其他文档,则在导出合规性审核并批准您的文档之前,您的应用将不会在商店中具有"待售"状态.在Export Compliance审核并批准之前,不能分发应用程序进行预发布测试.

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

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

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

您可以上载没有导出合规性密钥的构建.如果包含密钥,则表明您不需要导出合规性文档; 这不需要批准.如果您包含引用特定出口合规性文档的密钥,则该文档必须经过批准; 它不能处于审核或拒绝状态.

在此输入图像描述

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


Aks*_*are 44

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

<key>ITSAppUsesNonExemptEncryption</key>  
<false/>
Run Code Online (Sandbox Code Playgroud)

只需粘贴之前 </dict></plist>


Ped*_*óes 23

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

截至2019年仍然如此.


mri*_*011 14

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

应用程序使用非豁免加密


pro*_*der 11

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

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

消费者应用

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

业务/系统应用程序:系统操作,集成和控制.一些例子

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

  • 运输 - 安全和维护,系统监控和车载控制器(包括航空,铁路和商用汽车系统),"智能公路"技术,公共交通运营和票价收集等.

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

  • 医疗/临床 - 包括诊断应用,患者安排和医疗数据记录机密性

  • 应用地球科学 - 采矿/钻井,大气采样/天气监测,测绘/测量,水坝/水文学

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

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

  • 科学可视化/模拟/协同仿真(不包括计算,网络,密码分析等工具)

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

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

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

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

  • 软件和硬件设计IP保护

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

注意:这些规定也适用于使用测试您的应用 TestFlight


Rıf*_*hin 5

同样的错误解决了这样

在此处输入图片说明

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

}
Run Code Online (Sandbox Code Playgroud)


小智 5

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

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

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