web-dev-qa-db-ja.com

内部テスト中にITSAppUsesNonExemptEncryption輸出コンプライアンス?

Info.plistで ITSAppUsesNonExemptEncryption と設定すると、内部テスト用のビルドを選択しているときにこのメッセージが表示されます。意味は何ですか?必要ですか?

enter image description here

193
Avijit Nagare

WWDC2015の分布に従う いただきましたNew

enter image description here

Info.plistで "ITSAppUsesNonExemptEncryption"を "NO"に設定しても問題ありません。アプリに暗号化コンテンツがない場合.

enter image description here

私はこのポップアップを持っていました私は私のinfo.plistに "ITSAppUsesNonExemptEncryption"キーを含めていませんでしたが、まだ私のために働いていました。

私も新しいアプリケーションのアップロードに成功しましたが、 "ITSEncryptionExportComplianceCode"と "ITSAppUsesNonExemptEncryption"キーが含まれていませんでした。

また Apple Doc。

重要:暗号化レビューのために追加のドキュメントを提供することをアプリケーションが要求している場合、エクスポートコンプライアンスがあなたのドキュメントをレビューして承認するまで、ストアの販売準備完了ステータスはアプリに表示されません。輸出規制遵守が審査され承認されるまで、プレリリーステストのためにアプリを配布することはできません。

アプリが暗号化を使用しておらず、送信時にこれらの質問に回答したくない場合は、ビルドに輸出コンプライアンス情報を提供できます。また、iTunes Connectを介して新規または更新されたドキュメントを提供して、ビルドに含める適切なキーストリング値をiTunes Connectにアップロードする前に受け取ることもできます。

ITunes Connectに輸出規制関連の書類を追加するには:

[機能]の下の[暗号化]セクションに移動します。該当するプラットフォームセクションの横にあるプラス記号をクリックします。質問に適切に答えてください。メッセージが表示されたらファイルを添付します。保存をクリックします。あなたの文書はすぐにレビューのために送られ、あなたの文書のステータスはCompliance Reviewに表示されます。 Info.plistファイルに含めることができるキー値も自動的に生成されます。ビルドに重要な価値を含めることについての詳細は、「参考文献」および「ヘルプ」セクションの「Trade Compliance」を参照してください。

輸出規制キーなしでビルドをアップロードできます。鍵を含める場合は、輸出規制遵守文書が不要であることを示している可能性があります。これは承認を必要としません。特定の輸出コンプライアンス文書を参照するキーを含める場合は、その文書を承認する必要があります。レビュー中または却下されることはできません。

enter image description here

文書ファイル名をクリックして[詳細情報]を選択すると、いつでも回答を確認できます。ドキュメントを更新したり、質問に対する回答を変更する必要がある場合は、上記の手順を繰り返して、変更内容に対応する新しいドキュメントを追加する必要があります。

55
Avijit Nagare

基本的に<key>ITSAppUsesNonExemptEncryption</key><false/>はNOと等しいブール値を表します。

info.plist value

@JosepHによる更新:この値は、アプリが暗号化を使用しない、または暗号化を免除することを意味します。アプリが暗号化を使用しており、免除されていない場合は、この値をYES/trueに設定する必要があります。

アプリが暗号化を使用していると見なされると、議論の余地があるようです。

186
Ilya Saunkin

Plistファイルにこのキーを追加してください。

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

</dict></plist>の前に貼り付けるだけ

42
Akshay Phulare

Appleは構築プロセスを簡素化したので、毎回同じチェックボックスをクリックする必要はありません。あなたはアプリにこのフラグをコンパイルすることによってあなたのiTCフローを合理化することができます。

これはまだ2019年の時点で当てはまります。

23
Pedro Góes

ドロップダウンから選択するには、次の行を入力してください。

アプリケーションは非免除暗号化を使用します

12
mriaz0011

念頭に置くべき2つの事柄が基本的にあります。 暗号化をまったく使用しない 、または免除規定の一部である の場合にのみ、NOに設定できます。これは、次の種類のアプリケーションに適用されます。

出典:商工会議所https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

消費者向けアプリケーション

  • ソフトウェアまたは音楽の違法コピーおよび盗難防止
  • 音楽、映画、曲/音楽、デジタル写真 - プレーヤー、レコーダー、オーガナイザー
  • ゲーム/ゲーム - デバイス、ランタイムソフトウェア、HDMIおよびその他のコンポーネントインタフェース、開発ツール
  • LCD TV、Blu-ray/DVD、ビデオオンデマンド(VoD)、映画、デジタルビデオレコーダー(DVR)/パーソナルビデオレコーダー(PVR) - デバイス、オンラインメディアガイド、商用コンテンツの整合性と保護、HDMIおよびその他のコンポーネントインタフェース(テレビ会議ではありません)。
  • プリンター、コピー機、スキャナー、デジタルカメラ、インターネットカメラ - 部品およびサブアセンブリを含む
  • 家庭用電化製品および電気器具

ビジネス/システムアプリケーション:システム運用、統合および制御。いくつかの例

  • ビジネスプロセス自動化(BPA) - プロセスの計画とスケジューリング、サプライチェーン管理、在庫と配達

  • 輸送 - 安全性とメンテナンス、システム監視と車載コントローラ(航空、鉄道、商用の自動車システムを含む)、「スマートハイウェイ」技術、公共交通機関の運行と料金徴収など.

  • 産業用、製造用または機械的システム - ロボット工学、プラントの安全性、公益事業、工場およびその他の重機、火災警報器やHVACなどの設備システムコントローラ

  • 医療/臨床 - 診断アプリケーション、患者のスケジューリング、医療データ記録の機密性を含む

  • 応用地球科学 - 採掘/掘削、大気サンプリング/気象モニタリング、マッピング/測量、ダム/水文学

研究/科学/分析。いくつかの例:

  • ビジネスプロセス管理(BPM) - ビジネスプロセスの抽象化とモデリング

  • 科学的可視化/シミュレーション/協調シミュレーション(コンピューティング、ネットワーキング、暗号解読などのためのツールを除く)

  • 社会学、経済学、および政治学のためのデータ合成ツール(経済、人口、地球規模の気候変動、世論調査などの予測とモデリング)

安全な知的財産の提供とインストール。いくつかの例

  • ソフトウェアのダウンロード自動インストーラとアップデータ

  • ライセンスキー製品の保護と同様の購入確認

  • ソフトウェアおよびハードウェア設計IP保護

  • コンピュータ支援設計(CAD)ソフトウェアおよびその他の製図ツール

注:これらの規制は、TestFlightを使用してアプリをテストする場合にも当てはまります。

10
productioncoder

Appleはこれに関する規則を変更しました。私はすべてのAppleのドキュメントと、私が見つけることができる限り多くの米国の輸出規制を読みました。

これに関する私の見解は、最近までほとんどのアプリケーションでHTTPSを使用しているにもかかわらず、Appleは輸出証明書を要求することを意味していました。銀行取引などのいくつかのアプリケーションは問題ないでしょうが、多くのアプリケーションにとっては非常に広い、例外的なカテゴリに分類されませんでした。

しかし、Appleは現在httpsを使用するだけのアプリの免除カテゴリの下にgetoutを導入しました。彼らがいつこれを行ったのか私は知りませんが、私はそれが2016年12月か2017年1月のどちらかであったと思います。

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