【问题标题】:ITSAppUsesNonExemptEncryption Cordova BuildITSAppUsesNonExemptEncryption Cordova 构建
【发布时间】:2016-06-18 07:48:40
【问题描述】:

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

ITSAppUsesNonExemptEncryption export compliance while internal testing?

我需要在 plist 中有一个真实的值:

ITSAppUsesNonExemptEncryption ITSEncryptionExportComplianceCode [键值]

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

【问题讨论】:

  • 您链接到的帖子中的屏幕截图具有语法。 ITSAppUsesNonExemptEncryption

标签: ios cordova encryption app-store-connect


【解决方案1】:

我创建了一个简单的空插件来将此 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

【讨论】:

  • 因为 phonegap 通过网站构建我的插件,这是否可以作为 NPM 存储库?
  • 你的意思是构建不能访问github repo?我会检查这是否可能
  • 为使用phonegap Build的任何人找到了一个解决方案,将此添加到您的config.xml中,fml堆栈无法在cmets中发布代码lol
  • github.com/mikaoelitiana/…" source="git" />
【解决方案2】:

请注意,提到的插件在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="ios" 设置为属性,即使您已经有一个平台块。请注意,您必须使用 gap: 命名空间。

根据 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>

【讨论】:

  • 这并没有对我的 Info.plist 文件产生任何更改。
  • 更新:查看github.com/phonegap/build/issues/503 我发现这只有在您使用Phonegap Build 服务时才有效。
【解决方案3】:

这对我有用(实际上我需要输入 false,而不是 true)。

  <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.0engineios@~4.2.0

希望能帮到你:)

【讨论】:

    【解决方案4】:

    我不得不稍微修改一下 Andrej 的答案,这对我有用:

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

    【讨论】:

    • 对我不起作用, 在 Cordova 中似乎也没有记录。
    • me to .. 添加到 config.xml 并构建,但它似乎不存在于 plist 文件中\
    • 这已经过时了。当前答案见stackoverflow.com/a/54577896/13850
    【解决方案5】:

    正确答案其实是:

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

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

    【讨论】:

      【解决方案6】:

      我可以使用 ionic 解决这个问题。

      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
      

      经过比预期更多的研究,我了解到插件能够更新配置。为此,我刚刚将插件“cordova-plugin-ios-non-exempt-encryption”添加到我的 package.json 中,重新构建并且可以正常工作!

      【讨论】:

        【解决方案7】:

        截至 2019 年 2 月 7 日,正确的做法是将此 sn-p 添加到您的 &lt;platform name="ios"&gt; 部分:

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

        【讨论】:

          【解决方案8】:

          2019 年 11 月,接下来为我工作:

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

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

          【讨论】:

            【解决方案9】:

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

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

            edit-config是修改已有配置,默认不存在该配置。

            【讨论】:

              猜你喜欢
              • 2020-07-11
              • 2015-03-17
              • 2014-04-14
              • 2018-09-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-09-13
              相关资源
              最近更新 更多