我在选择构建进行内部测试时收到了这条消息。它说在信息中设置ITSAppUsesNonExemptEncryption。请问这是什么意思?有必要吗?
当前回答
根据WWDC2015发布最新消息
在info中设置ITSAppUsesNonExemptEncryption为NO。plist作品 很好。如果你的应用程序中没有加密内容。
在选择构建进行内部测试时,我得到了这个弹出框,我没有在我的信息中包含“ITSAppUsesNonExemptEncryption”键。Plist,但仍然为我工作。
即使我成功上传了新的应用程序,也不包括“ITSEncryptionExportComplianceCode”和“ITSAppUsesNonExemptEncryption”密钥。
还有Apple Doc。
重点:如果你的应用程序要求你提供额外的文件 为了加密审查,你的应用程序不会有Ready for Sale 在出口符合性审查和批准之前,存储的状态 你的文档。该应用程序不能进行预发布测试 直到出口合规部门审查并批准为止。
如果你的应用没有使用加密,并且你不想在提交时回答这些问题,你可以在你的构建中提供导出遵从性信息。您还可以通过iTunes Connect提供新的或更新的文档,以便在将其上传到iTunes Connect之前接收相应的键字符串值。
要在iTunes Connect中添加导出合规性文档:
Go to the Encryption section under Features. Click the plus sign next to the appropriate platform section. Answer the questions appropriately. Attach the file when prompted. Click Save. Your documents will then be sent for review immediately and the status of your document will show in Compliance Review. A key value will also be generated automatically that you can include in your Info.plist file. For more information on including the key value with your build, see the Resources and Help section Trade Compliance.
您可以在没有导出遵从性密钥的情况下上传构建。如果您包含一个密钥,它可以表明您不需要导出遵从性文档;这并不需要批准。如果包含引用特定出口合规文件的密钥,则该文件必须获得批准;它不能在评审中或被拒绝。
您可以随时通过单击文档文件名并选择更多信息来查看您的答案。如果您需要更新您的文档或更改问题的任何答案,您将需要重复上述步骤以添加与您的更改相对应的新文档。
其他回答
基本上有两件事要记住。如果你根本不使用加密,或者你是豁免规则的一部分,你才可以将它设置为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);
}
}
苹果已经改变了这方面的规则。我阅读了所有的苹果文件和我所能找到的美国出口法规。
我的观点是,直到最近,即使在大多数应用程序中使用HTTPS,也意味着苹果需要导出证书。一些应用程序,如银行应用程序可以,但对于许多应用程序来说,它们不属于非常广泛的例外类别。
然而,苹果现在在JUST使用https的应用程序的豁免类别下引入了一个getout。我不知道他们是什么时候做的,但我想应该是2016年12月或2017年1月。我们现在提交我们的应用程序没有从美国政府的证书。
在plist文件中添加此密钥…一切都会好起来的。
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
只是在</dict></plist>之前粘贴
推荐文章
- 更改UITextField和UITextView光标/插入符颜色
- 'Project Name'是通过优化编译的——步进可能会表现得很奇怪;变量可能不可用
- 如何设置回退按钮文本在Swift
- 模拟器慢动作动画现在打开了吗?
- 如何为TableView创建NSIndexPath
- 滑动删除和“更多”按钮(就像iOS 7的邮件应用程序)
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- 如何改变推和弹出动画在一个基于导航的应用程序
- 删除/重置核心数据中的所有条目?
- Swift to Objective-C头未在Xcode 6中创建
- setNeedsLayout vs. setNeedsUpdateConstraints和layoutIfNeeded vs. updateConstraintsIfNeeded
- 不区分大小写的比较
- 我怎么能得到一个uiimage的高度和宽度?
- 我如何模仿地图应用程序的底部表格?