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

女生的网名这么多〃 提交于 2019-11-30 03:16:55

问题


I'm building a plugin to use star printers from an iOS device, with their SDK and everything is working fine except that config-file command to modify the info.plist file is not working properly. Inside my plugin.xml I have:

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

With that I should get a Supported external accessory protocols array with 1 item called item 0, type String and value jp.star-m.starpro but instead I'm getting an array with two items as if I would have done:

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

What I need:


What I get:


Related questions:

I implemented the config-file by reading from this questions.

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

回答1:


After some further testing and research, I found out how to write the config-file to work properly. Here is the xml

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

Here, I changed the parent name from Supported external accessory protocols to UISupportedExternalAccessoryProtocolsand remove the <key> tag and now works as expected.




回答2:


You can check out this custom config plugin which should simply your task. This helps in manipulating *-info.plist file the way you intend to.



来源:https://stackoverflow.com/questions/37285458/cordova-modifying-info-plist-from-plugin-xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!