我在选择构建进行内部测试时收到了这条消息。它说在信息中设置ITSAppUsesNonExemptEncryption。请问这是什么意思?有必要吗?


当前回答

基本上有两件事要记住。如果你根本不使用加密,或者你是豁免规则的一部分,你才可以将它设置为NO。这适用于以下几种应用:

资料来源:美国商会: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

注意:这些规则也适用于使用TestFlight测试应用程序

其他回答

基本上有两件事要记住。如果你根本不使用加密,或者你是豁免规则的一部分,你才可以将它设置为NO。这适用于以下几种应用:

资料来源:美国商会: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

注意:这些规则也适用于使用TestFlight测试应用程序

要从下拉菜单中选择,请输入以下一行:

应用程序使用非豁免加密

苹果简化了我们的构建过程,所以你不需要每次都点击相同的复选框。你可以通过将这个标志编译到应用程序中来简化你的iTC流程。

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

同样的错误是这样解决的

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

}

在Xcode 12中使用Non-Exempt Encryption而不是ITSAppUsesNonExemptEncryption