ITSAppUsesNonExemptEncryption Cordova Build

时间:2016-03-04 14:22:10

标签: ios cordova encryption itunesconnect

在下面的链接中确认类似的问题是否有人知道如何将信息添加到Cordova中的config.xml文件中?

ITSAppUsesNonExemptEncryption export compliance while internal testing?

我需要在plist中拥有真正的价值:

ITSAppUsesNonExemptEncryption ITSEncryptionExportComplianceCode [Key Value]

有没有人知道添加此信息的正确语法?

9 个答案:

答案 0 :(得分:13)

我不得不修改Andrej的答案,这对我有用:

  <platform name="ios">
    ...
    <config-file target="*-Info.plist" parent="ITSAppUsesNonExemptEncryption" mode="add">
      <false/>
    </config-file>
    ...
  </platform>

答案 1 :(得分:11)

我创建了一个简单的空插件,将此ITSAppUsesNonExemptEncryption设置为false。

只需将以下内容添加到config.xml

即可
<plugin name="cordova-ios-plugin-no-export-compliance" spec="0.0.5" />

或运行

cordova plugin add cordova-ios-plugin-no-export-compliance

如果您需要将其设置为true,您可以分叉插件并相应地更改plugin.xml文件,然后从分叉存储库添加插件。

有关详细信息,请参阅NPM上的plugin

答案 2 :(得分:3)

请注意,提到的插件在phonegap build中不起作用。在phonegap版本中使用此解决方案的解决方案是outlined in this stackoverflow questionthis github issue:使用

<gap:config-file platform="ios" parent="ITSAppUsesNonExemptEncryption" mode="add">
  <false/>
</gap:config-file>

在你的config.xml中。

请注意,您必须明确设置platform =&#34; ios&#34;作为属性,即使您已经有一个平台块。请注意,您必须使用gap:namespace。

以下内容将不适用于2016-04-08:

<platform name="ios">
  <gap:config-file parent="ITSAppUsesNonExemptEncryption" mode="add">
    <false/>
  </gap:config-file>
</platform>

这个都不会起作用:

<config-file platform="ios" parent="ITSAppUsesNonExemptEncryption" mode="add">
  <false/>
</config-file>

答案 3 :(得分:2)

实际上答案是:

<config-file platform="ios" target="*-Info.plist" parent="ITSAppUsesNonExemptEncryption">
    <false/>
</config-file>

取自Add hint that this won't work in phonegap build

答案 4 :(得分:1)

如果要将该配置附加到 *-Info.plist 文件中,则需要以这种方式使用config-file

<platform name="ios">
    <config-file parent="ITSAppUsesNonExemptEncryption" target="*-Info.plist">
        <false />
    </config-file>
    ....
</platform>

edit-config用于修改现有配置,默认情况下该配置不存在。

答案 5 :(得分:0)

这适合我(实际上我需要假,而不是真的)。​​

  <platform name="ios">
    ...
    <config-file target="*-Info.plist" parent="CFBundleURLTypes" mode="add">
      <array>
          <dict>
              <key>ITSAppUsesNonExemptEncryption</key>
              <false/>
          </dict>
      </array>
    </config-file>
    ...
  </platform>

我正在使用cordova 6.3.0引擎ios@~4.2.0

我希望我帮助过。)

答案 6 :(得分:0)

我可以使用离子来解决这个问题。

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.4
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 0.0.48
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: macOS Sierra
Node Version: v7.1.0
Xcode version: Xcode 8.2.1 Build version 8C1002

经过比预期更多的研究,我了解到插件能够更新配置。为此,我刚刚添加了插件&#34; cordova-plugin-ios-non-exempt-encryption&#34;到我的package.json,重建并且它有效!

答案 7 :(得分:0)

从2019年2月7日开始,正确的方法是将此代码段添加到您的<platform name="ios">部分:

<edit-config file="*-Info.plist" mode="add" target="ITSAppUsesNonExemptEncryption">
    <false/>
</edit-config>

答案 8 :(得分:0)

2019年11月,下一个对我有用:

<platform name="ios">
...
    <config-file parent="ITSAppUsesNonExemptEncryption" target="*-Info.plist">
        <false />
    </config-file>

注意:不要忘记删除platform / ios文件夹并使用ionic cordova prepare ios重新构建。没有该plist文件,可能会保持不变。