我在選擇內部測試版本的時候收到了這條消息。它說關於設置ITSAppUsesNonExemptEncryption in info.plist這是什麼意思?有必要嗎?ITSAppUsesNonExemptEncryption出口合規性,而內部測試?
回答
根據WWDC2015分佈Whats New
設置 「ITSAppUsesNonExemptEncryption」 中的info.plist爲 「NO」 的作品 罰款。如果您的應用中沒有加密內容。
我得到這個彈出在選擇建立內部測試我沒有列入我的info.plist「ITSAppUsesNonExemptEncryption」鍵,但仍然爲我工作。
即使我成功上傳的新應用程序沒有包含「ITSEncryptionExportComplianceCode」和「ITSAppUsesNonExemptEncryption」鍵。
重要提示:如果您的應用程序,您需要提供加密審查的新文件 ,您的應用程序不會有準備在商店出售 狀態,直到出口合規性審查和批准 您的文件。直到出口合規部門審覈並批准該應用程序後,該應用才能分發到售前測試 。
如果您的應用程序未使用加密,並且您不希望在提交時回答這些問題,則可以爲您的構建提供導出合規性信息。您還可以通過iTunes Connect提供新的或更新的文檔,以便在上傳到iTunes Connect之前接收適當的密鑰字符串值以包含在您的版本中。
要在iTunes Connect增加出口符合性文件:
轉到下功能的加密部分。 單擊相應平臺部分旁邊的加號。 正確回答問題。 提示時附加文件。 單擊保存。 您的文件將立即發送審查,您的文件的狀態將顯示在合規性審查。一個關鍵值也會自動生成,您可以將其包含在Info.plist文件中。有關在構建中包含關鍵值的更多信息,請參閱資源和幫助部分Trade Compliance。
您可以上傳沒有導出合規性密鑰的版本。如果您包含密鑰,則可能表示您不需要出口合規性文檔;這不需要批准。如果您包含引用特定出口合規性文件的密鑰,則該文件必須獲得批准;它不能在審查或拒絕。
您可以通過點擊文件的文件名,並選擇更多信息查看您隨時解答。如果您需要更新文檔或更改任何問題的答案,則需要重複上述步驟以添加與您的更改相符的新文檔。
欲瞭解更多信息。 http://stackoverflow.com/questions/2135081/does-my-application-contain-encryption –
蘋果已經簡化了我們的建設過程中,所以你不需要每次都在同一個複選框,單擊。你可以通過編譯這個標誌到應用程序來簡化你的iTC流程。
添加在plist文件這個按鍵...一切都會好起來..
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
只需粘貼之前</dict></plist>
基本上<key>ITSAppUsesNonExemptEncryption</key><false/>
代表一個布爾值等於NO。
更新由@JosepH:該值意味着應用程序不使用加密,或者只免除加密。如果您的應用使用加密並且不能免除,則必須將此值設置爲YES/true。
有時,當一個應用程序被認爲使用加密時,它似乎有爭議。
謝謝 - 這正是我正在尋找的(如何將此密鑰添加到圖形plist文件中) – Natalia
將'ITSAppUsesNonExemptEncryption'設置爲false/NO並不意味着應用程序中的加密沒有更改。這意味着該應用程序不使用加密,或只使用免加密。如果您的應用程序使用加密並且不能免除,則必須將此值設置爲YES/true。很少有應用程序可以將其設置爲NO;例如,如果您的應用的任何部分使用https,則幾乎肯定需要說「是」。見http://stackoverflow.com/questions/2135081/does-my-application-contain-encryption – JosephH
@約瑟夫好吧,非常感謝你的洞察力,的確你的信息似乎是正確的 –
基本上有兩件事需要記住。如果您的或者完全不使用加密,或者您是豁免條例的一部分,則只允許將其設置爲NO。這適用於下列類型的應用:
來源:商會的:https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15
消費應用
- 盜版和防盜軟件或音樂;
- 音樂,電影,音樂/音樂,數碼照片 - 播放器,錄像機和組織者
- 遊戲/遊戲 - 設備,運行系統軟件,HDMI和其他組件的接口,開發工具
- 液晶電視,藍光/ DVD ,視頻點播(VoD),影院,數字視頻錄像機(DVR)/個人錄像機(PVR) - 設備,聯機 媒體指南,商業內容完整性和保護,HDMI和其他組件接口(非視頻會議)。
- 打印機,複印機,掃描儀,數碼相機,攝像機互聯網 - 包括零件和子組件
- 家用水電煤氣和器具
業務/應用系統:系統操作,集成和控制。一些例子
業務流程自動化(BPA) - 過程的策劃和調度,供應鏈管理,庫存和交貨
運輸 - 安全和維護,監控系統和車載控制器(包括航空,鐵路和商業 汽車系統),'智能高速公路'技術,公共運輸 操作和票價收集等。
工業,製造或機械系統 - 包括機器人,工廠的安全,公用設施,工廠和其他重型設備, 設施系統的控制器,如火災報警器和HVAC
醫療/護理 - 包括診斷應用,患者安排,以及醫療數據記錄保密
施加地質 - 採礦/鑽孔,大氣採樣/天氣監測,映射/測量,水壩/水文
研究/科學/分析。一些例子:
業務流程管理(BPM) - 業務流程的抽象和建模
科學可視化/模擬/協同仿真(不包括計算,網絡,密碼分析等這樣的工具)
數據綜合工具對社會,經濟和政治科學(如經濟,人口,全球氣候變化,輿論 投票等預測和建模)
安全的知識產權交付和安裝。一些例子
軟件下載自動安裝和更新程序
許可證密鑰產品的保護和類似購買驗證
軟件和硬件設計的知識產權保護
計算機輔助設計( CAD)軟件和其他繪圖工具
注:這些規定也適用於測試使用TestFlight
您的應用程序解決了這樣的
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);
}
}
添加了一個相關的代碼行,以便dev可以用來添加必要的鍵 –
明白了,刪除了我的評論。謝謝 –
同樣的錯誤蘋果已經改變了這個規則。我閱讀了所有的蘋果文檔以及我所能找到的許多美國出口區域。
我的觀點是直到最近甚至對大多數應用程序使用HTTPS意味着Apple將要求出口證書。一些應用程序如銀行業務可以,但對於許多應用程序,它們並不屬於非常廣泛的優秀類別。
但是蘋果公司現在已經在免費的類別中爲剛剛使用https的應用引入了getout。我不知道他們什麼時候這樣做,但我認爲這是2016年12月或2017年1月。我們現在提交的應用程序沒有美國政府的證書。
從下拉列表中選擇,請開始鍵入下面一行:
應用程序使用非豁免加密
- 1. UAT(用戶驗收測試)與合規性測試相同嗎?
- 2. UIWebView,SSL和出口合規
- 3. 當我在Test Flight中爲內部測試添加內置時缺少狀態合規性。如何解決?
- 4. 測試內部類
- 5. ITSAppUsesNonExemptEncryption Cordova Build
- 6. Spock認爲測試類的內部枚舉應該是規範的屬性
- 7. 測試飛行內部測試問題
- 8. Junit:測試選擇的測試而不是全部測試
- 9. 通用單元測試是否符合常規.net接口和重載規則的一致性實現?
- 10. 使用Dropbox API應用程序出口合規性
- 11. Appstore - 以個人身份出口合規性?
- 12. 測試出口!與RSpec
- 13. 出口合規如果我使用CCCrypt
- 14. 活性測試規則失敗的
- 15. casperjs測試內部網站
- 16. SCNNode點內部測試
- 17. 可以測試內部代碼而不必將測試代碼標記爲內部代碼?
- 18. 規範的測試導出CSV文件
- 19. PHPUnit測試子類符合接口
- 20. 內部結構,內部結構可見性和測試共享行爲
- 21. 代碼合規性
- 22. jQuery XHTML合規性
- 23. 如何測試彈出IE窗口的內容
- 24. 窗口服務性能測試工具
- 25. WSDL生成和可測試性接口
- 26. 性能計數器,而負載測試
- 27. 通過測試規範到另一個測試規範
- 28. 如何執行.net應用程序的內部測試性能?
- 29. 測試出口()與增強單元測試
- 30. 如何在業務規則屬性可訪問性時測試業務規則?
如果你使用任何加密它的字面要求/如果你的應用程序被設計爲存儲安全信息加密。 – Andriko13
截至2016年9月20日,這已不再需要。看到我的答案在這裏:http://stackoverflow.com/a/40391664/776167 - 你可以說你是免除的。 – hisnameisjimmy