无法读取 Info.plist,因为它的格式不正确

Posted

技术标签:

【中文标题】无法读取 Info.plist,因为它的格式不正确【英文标题】:Info.plist couldn't be read because it isn't in the correct format 【发布时间】:2018-11-09 04:05:54 【问题描述】:

我的问题是关于打开 Info.plist 文件时出现此错误:

Info.plist 无法读取,因为它的格式不正确

当从 vs for mac 或 xcode 打开时,这个 plist 文件可能有什么问题?这是我的plist文件,你可以看看。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>MinimumOSVersion</key>
    <string>10.3</string>
    <key>CFBundleName</key>
    <string>MovesaGarantias</string>
    <key>CFBundleDisplayName</key>
    <string>MovesaGarantias</string>
    <key>CFBundleIdentifier</key>
    <string>com.yourcompany.MovesaGarantias</string>
    <key>CFBundleVersion</key>
    <string>1.0</string>
  <key>NSLocationAlwaysUsageDescription</key>
  <string>Can we use your location at all times?</string>
  <key>NSLocationWhenInUseUsageDescription</key>
  <string>Can we use your location when your app is being used?</string>
  <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
  <string>Can we use your location at all times?</string>
  <key>NSCalendarsUsageDescription</key>
  <string>Needs Calendar Permission</string>
  <key>CFBundleIconFiles</key>
    <array>
        <string>Icon-60@2x</string>
        <string>Icon-60@3x</string>
        <string>Icon-76</string>
        <string>Icon-76@2x</string>
        <string>Default</string>
        <string>Default@2x</string>
        <string>Default-568h@2x</string>
        <string>Default-Portrait</string>
        <string>Default-Portrait@2x</string>
        <string>Icon-Small-40</string>
        <string>Icon-Small-40@2x</string>
        <string>Icon-Small-40@3x</string>
        <string>Icon-Small</string>
        <string>Icon-Small@2x</string>
        <string>Icon-Small@3x</string>
    </array>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>   
    <key>XSLaunchImageAssets</key>
    <string>Resources/Media.xcassets/LaunchImages.launchimage</string>
</dict>
</plist>

错误还表示 Xamarin vs for Mac 上不支持标签 Key。

【问题讨论】:

此文件已在我的 Visual Studio for Windows 中成功打开 没有版本就打开了吗? 是的...但在 VS for Mac 中没有 无法重现任何问题。您现在显示的 plist 文件是有效的 plist 文件。 【参考方案1】:

我认为问题在于您有一个值数组,但第 34 行没有键:

  <key>NSCalendarsUsageDescription</key>
  <string>Needs Calendar Permission</string>
    <array>
        <string>Icon-60@2x</string>

&lt;array&gt; 标记之前,您需要有一个&lt;key&gt;Keyname&lt;/key&gt; 条目。

【讨论】:

您好,谢谢您的回答,确实有道理,已更改,但由于某种原因仍然显示相同的错误。 没有看到编辑,我们无法告诉您出了什么问题。您是否将&lt;key&gt;Keyname&lt;/key&gt; 放在我上面提到的&lt;/string&gt;&lt;array&gt; 之间?我这样做了,它再次生效。 NSCalendarsUsageDescription需要日历权限CFBundleIconFilesIcon-60@2xIcon-60@3x 你为什么不将新文件编辑成你原来的问题。您写的内容看起来不错,所以此时可能还有其他问题? 我已经编辑了关于原始问题的文件,再次感谢。【参考方案2】:

现在您已经更正了您的 plist 文件,它是有效的并且可以在 Xcode 中正常打开:

【讨论】:

以上是关于无法读取 Info.plist,因为它的格式不正确的主要内容,如果未能解决你的问题,请参考以下文章

无法读取数据,因为它的格式不正确(swift)

Swift 无法读取数据,因为它的格式不正确

无法读取数据,因为它的格式不正确 Xcode 11

错误是无法读取数据,因为它的格式不正确

无法读取数据,因为它的格式不正确

Swift 中的 JSON 解码。无法读取数据,因为它的格式不正确