Cordova:从 plugin.xml 修改 *-Info.plist

Cordova: Modifying *-Info.plist from plugin.xml

我正在构建一个插件以使用来自 iOS 设备的星型打印机,它们的 SDK 一切正常,除了 config-file 命令修改 info.plist 文件无法正常工作。在我的 plugin.xml 我有:

<config-file target="*-Info.plist" parent="Supported external accessory protocols">
  <array>
    <key>item 0</key>
    <string>jp.star-m.starpro</string>
  </array>
</config-file>

我应该得到一个 Supported external accessory protocols 数组,其中包含 1 个名为 item 0 的项目,类型 String 和值 jp.star-m.starpro 但我得到的数组有两个好像我会做的项目:

<array>
    <key>item 0</key>
    <string>item 0</string>
    <key>item 1</key>
    <string>jp.star-m.starpro</string>
</array>

我需要的:


我得到的:


相关问题:

我通过阅读这个问题实现了config-file

  1. Add entry to iOS .plist file via Cordova config.xml
  2. Two cordova plugins modifying “*-Info.plist” CFBundleURLTypes

经过进一步的测试和研究,我发现了如何编写 config-file 才能正常工作。这是 xml

<config-file target="*-Info.plist" parent="UISupportedExternalAccessoryProtocols">
    <array>
        <string>jp.star-m.starpro</string>
    </array>
</config-file>

在这里,我将父名称从 Supported external accessory protocols 更改为 UISupportedExternalAccessoryProtocols 并删除了 <key> 标签,现在可以正常工作了。

您可以查看这个 custom config plugin,这应该只是您的任务。这有助于按照您想要的方式处理 *-info.plist 文件。