Dahili test sırasında ITSAppUsesNonExemptEncryption ihracat uyumluluğu?


215

Dahili test için derleme seçerken bu mesajı aldım. İnfo.plist'de ITSAppUsesNonExemptEncryption ayarlaması hakkında diyor ne anlama geliyor? bu gerekli mi?

resim açıklamasını buraya girin


3
Kelimenin tam anlamıyla herhangi bir şifreleme kullanıp kullanmadığınızı / uygulamanızın güvenli bilgileri kriptografik olarak depolamak üzere tasarlanıp tasarlanmadığını soruyor.
Andriko13

1
20 Eylül 2016 itibariyle, bu artık gerekli değildir. Cevabımı burada görebilirsiniz: stackoverflow.com/a/40391664/776167 - Muaf olduğunuzu söyleyebilirsiniz.
hisnameisjimmy

Yanıtlar:


217

Temelde <key>ITSAppUsesNonExemptEncryption</key><false/>NO'ya eşit bir Boole değeri anlamına gelir.

info.plist değeri

@JosepH ile güncelleme: Bu değer, uygulamanın şifreleme kullanmaması veya yalnızca muaf şifreleme kullanmaması anlamına gelir. Uygulamanız şifreleme kullanıyorsa ve muaf değilse, bu değeri EVET / true olarak ayarlamanız gerekir.

Bir uygulamanın şifreleme kullandığı düşünülürse bazen tartışmalıdır.


1
teşekkürler - tam olarak aradığım şey buydu (bu anahtarı grafiksel plist dosyasına nasıl ekleyeceğim)
Natalia

2
'ITSAppUsesNonExemptEncryption' değerini false / NO olarak ayarlamak, uygulamanızdaki şifrelemenin değişmediği anlamına gelmez. Bu, uygulamanın şifreleme kullanmaması veya yalnızca muaf tutulması anlamına gelir. Uygulamanız şifreleme kullanıyorsa ve muaf değilse, bu değeri EVET / true olarak ayarlamanız gerekir. Çok az uygulama bunu NO olarak ayarlayabilir; Örneğin, uygulamanızın herhangi bir kısmı https kullanıyorsa neredeyse kesinlikle EVET demelisiniz. Bkz. Stackoverflow.com/questions/2135081/…
JosephH

1
@JosephH tamam, içgörü için çok teşekkürler, gerçekten bilgilerin doğru görünüyor
Elijah Saounkine

23
Https kullanıyorsanız, bunu genellikle EVET olarak ayarlamanız gerekmez. Kategori 5 bölüm 2'deki Not 4'e bakın . Çoğunlukla, uygulamanın ana amacı şifreleme değilse, değeri HAYIR olarak ayarlayabilirsiniz. Burada, "uygun otorite" nin talebi üzerine bilgi vermek isteyip istemediğiniz gibi bazı uyarılar vardır, bu yüzden dikkatlice okuyun.
Ben Kane

1
HTTPS şifrelemesi işletim sistemi düzeyinde uygulanır; uygulama gerçekten veri şifreleme sorununa girmez. Anladığım kadarıyla, Ben Kane'nin önerisi doğru.
Elijah Saounkine

61

WWDC2015 Dağıtımına Göre Neler Yeni

resim açıklamasını buraya girin

İnfo.plist içindeki "ITSAppUsesNonExemptEncryption" öğesini "NO" olarak ayarlamak iyi çalışır. uygulamanızda kriptografik içerik yoksa.

resim açıklamasını buraya girin

Bu pop-up var iç test için inşa seçerken ben benim info.plist "ITSAppUsesNonExemptEncryption" anahtar dahil etmedi ama yine de benim için çalıştı.

Hatta başarıyla yüklenen yeni uygulama "ITSEncryptionExportComplianceCode" ve "ITSAppUsesNonExemptEncryption" anahtarlarını içermiyordu.

Ayrıca Apple Doc.

Önemli: Uygulamanız şifreleme incelemesi için ek belgeler sağlamanızı gerektiriyorsa, İhracat Uyumluluğu belgelerinizi inceleyip onaylayana kadar uygulamanız mağazada Satışa Hazır durumuna sahip olmaz. Uygulama, Export Compliance tarafından incelenip onaylanana kadar yayın öncesi test için dağıtılamaz.

Uygulamanız şifreleme kullanmıyorsa ve gönderim sırasında bu soruları yanıtlamak istemiyorsanız, derlemenize dışa aktarma uyumluluğu bilgileri sağlayabilirsiniz. Ayrıca iTunes Connect'e yüklemeden önce yapınıza dahil edilecek uygun anahtar dize değerini almak için iTunes Connect aracılığıyla yeni veya güncellenmiş belgeler de sağlayabilirsiniz.

İTunes Connect'e dışa aktarma uyumluluğu belgeleri eklemek için:

Özellikler altındaki Şifreleme bölümüne gidin. İlgili platform bölümünün yanındaki artı işaretini tıklayın. Soruları uygun şekilde cevaplayın. İstendiğinde dosyayı ekleyin. Kaydet'i tıklayın. Ardından belgeleriniz derhal incelenmek üzere gönderilir ve belgenizin durumu Uyumluluk İncelemesinde gösterilir. Ayrıca Info.plist dosyanıza ekleyebileceğiniz bir anahtar değeri otomatik olarak oluşturulur. Derlemenize anahtar / değer çiftini dahil etme hakkında daha fazla bilgi için Kaynaklar ve Yardım bölümüne Ticaret Uyumu bölümüne bakın.

Bir derlemeyi dışa aktarma uyumluluk anahtarı olmadan yükleyebilirsiniz. Bir anahtar eklerseniz, ihracat uyumluluk belgelerine ihtiyacınız olmadığını gösterebilir; bu onay gerektirmez. Belirli bir ihracat uyumluluk belgesine başvuran bir anahtar eklerseniz, bu belgenin onaylanması gerekir; İnceleniyor veya Reddedilemez.

resim açıklamasını buraya girin

Doküman dosya adını tıklayıp Daha Fazla Bilgi'yi seçerek yanıtlarınızı istediğiniz zaman inceleyebilirsiniz. Belgelerinizi güncellemeniz veya soruların yanıtlarından herhangi birini değiştirmeniz gerekiyorsa, değişikliklerinize karşılık gelen yeni bir belge eklemek için yukarıdaki adımları tekrarlamanız gerekir.



51

Bu anahtarı plist dosyasına ekleyin ... Her şey yoluna girecek ..

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

Sadece önce yapıştır </dict></plist>


25

Apple yapım sürecimizi basitleştirdi, bu yüzden her seferinde aynı onay kutusunu tıklamanız gerekmez. Bu bayrağı uygulamaya derleyerek iTC akışınızı kolaylaştırabilirsiniz.

2019'dan itibaren de durum böyle.


17

Açılır menüden seçim yapmak için lütfen aşağıdaki satırı yazmaya başlayın:

Uygulama Muaf Olmayan Şifreleme Kullanıyor


12

Akılda tutulması gereken 2 şey var. Yalnızca eğer HAYIR değerini ayarlayın izin verilir ya hiç şifreleme kullanmayan , yoksa muaf düzenlemelerin parçasıdır . Bu, aşağıdaki tür uygulamalar için geçerlidir:

Kaynak: Ticaret Odası : https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

Tüketici uygulamaları

  • yazılım veya müzik için korsanlık ve hırsızlık önleme;
  • müzik, filmler, melodiler / müzik, dijital fotoğraflar - oynatıcılar, kaydediciler ve organizatörler
  • oyunlar / oyunlar - cihazlar, çalışma zamanı yazılımı, HDMI ve diğer bileşen arayüzleri, geliştirme araçları
  • LCD TV, Blu-ray / DVD, isteğe bağlı video (VoD), sinema, dijital video kayıt cihazları (DVR'ler) / kişisel video kayıt cihazları (PVR'ler) - cihazlar, çevrimiçi ortam kılavuzları, ticari içerik bütünlüğü ve koruması, HDMI ve diğer bileşenler arayüzler (video konferans değil);
  • yazıcılar, fotokopi makineleri, tarayıcılar, dijital kameralar, İnternet kameraları - parçalar ve alt montajlar dahil
  • ev uygulamaları ve aletleri

İşletme / sistem uygulamaları: sistem işlemleri, entegrasyon ve kontrol. Bazı örnekler

  • iş süreci otomasyonu (BPA) - süreç planlama ve çizelgeleme, tedarik zinciri yönetimi, envanter ve teslimat

  • ulaşım - güvenlik ve bakım, sistem izleme ve araç kontrolörleri (havacılık, demiryolu ve ticari otomotiv sistemleri dahil), 'akıllı otoyol' teknolojileri, toplu taşıma işlemleri ve ücret toplama vb.

  • endüstriyel, imalat veya mekanik sistemler - robotik, tesis güvenliği, kamu hizmetleri, fabrika ve diğer ağır ekipmanlar dahil, yangın alarmları ve HVAC gibi tesis sistem kontrolörleri

  • tıbbi / klinik - teşhis uygulamaları, hasta planlaması ve tıbbi veri kayıtlarının gizliliği dahil

  • uygulamalı yer bilimleri - madencilik / sondaj, atmosferik örnekleme / hava durumu izleme, haritalama / ölçme, barajlar / hidroloji

Araştırma / bilimsel / analitik. Bazı örnekler:

  • iş süreci yönetimi (BPM) - iş süreci soyutlama ve modelleme

  • bilimsel görselleştirme / simülasyon / birlikte simülasyon (bilgi işlem, ağ, kriptanaliz vb. için kullanılan araçlar hariç)

  • sosyal, ekonomik ve siyasal bilimler için veri sentez araçları (ör. ekonomi, nüfus, küresel iklim değişikliği, kamuoyu yoklaması, vb. tahmin ve modelleme)

Fikri mülkiyet teslimi ve kurulumunu güvence altına alın. Bazı örnekler

  • yazılım indir otomatik yükleyiciler ve güncelleyiciler

  • lisans anahtarı ürün koruması ve benzeri satın alma doğrulaması

  • yazılım ve donanım tasarımı IP koruması

  • bilgisayar destekli tasarım (CAD) yazılımı ve diğer çizim araçları

Not: Bu düzenlemeler uygulamanızı kullanarak test etmek için de geçerlidir TestFlight


4

Aynı hata şu şekilde çözüldü

resim açıklamasını buraya girin

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

}

geliştiricinin gerekli anahtarları eklemek için kullanabileceği bir kod satırı ekledi
Rıfat Erdem Sahin

Anladım, yorumumu kaldırdım. Teşekkürler
Bhargav Rao

4

Apple bu konudaki kuralları değiştirdi. Tüm Apple belgelerini ve bulabildiğim kadar ABD ihracat regülasyonunu okudum.

Bu konudaki görüşüm yakın zamana kadar çoğu uygulama için HTTPS kullanmak bile Apple'ın ihracat sertifikası gerektireceği anlamına geliyordu. Bankacılık gibi bazı uygulamalar iyi olurdu, ancak birçok uygulama için çok, çok geniş olan muaf kategoriye girmediler.

Ancak Apple, SADECE https kullanan uygulamalar için muaf kategori altında bir getout tanıttı. Bunu ne zaman yaptıklarını bilmiyorum ama sanırım Aralık 2016 ya da Ocak 2017. Şimdi uygulamalarımızı ABD Hükümeti'nin sertifikası olmadan gönderiyoruz.


1
"Çık" belgelerine bağlantı? HTTPS'nin iyi olup olmadığını belirleyemiyorum.
gbhall

@gbhall HTTPS için gerekli değildir. Uygulamayı deneyebilir ve artık GOV sitelerinden başvuru formunu bile almayacaksınız. (adı hatırlamıyorum)

@Sneak OK şerefe adam. Umarım geleceğe doğru devam eder.
gbhall

@Sneak alkış dostum. Bu daha yeni örnek, yıllık bir rapor göndermeniz gerektiğini gösteriyor gibi görünüyor: stackoverflow.com/a/44396900/333733
gbhall

1
@Sneak kesinlikle daha fazla bakmak için bir şey. Bağlantılar için teşekkürler. Şu anda sadece HTTPS.
gbhall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.