XCode报告本地化的plist已损坏

use*_*437 5 iphone localization

我有一个plist文件,我在我的应用程序中使用,我可以本地化,所以我在我的项目中得到两个条目,一个用于英语,一个用于西班牙语,当我编译运行应用程序时它可以工作但当然在这个阶段内容是相同.

然后我在Finder中将西班牙plist替换为已经翻译成西班牙语的plist,我可以在XCode编辑器中查看内容而没有问题.

但是,当我尝试编译时,我得到一个错误说明:

.../en.lproj/myData.plist:0:错误:读取plist:无法读取数据,因为它已损坏.

但英国人没有被触及?

当然,您可以通过这种方式将本地化文件复制到项目中吗?

Kur*_*kay 6

  1. 打开磁盘实用程序修复权限

  2. 打开终端并运行此命令:

    plutil -s /somewhere/yourfile1.plist

通过向您显示确切的错误和行,它将使您专注于问题的所有细节.因此,您必须使用文本编辑器自行修改报告的行并进行修复.


Cep*_*phi 4

可能发生的一件事是有人弄乱了您的标签之一。

在 Xcode 中右键单击您的西班牙语 plist,选择Open AS ,然后选择Source Code

然后检查您的 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>1</key>
    <dict>
        <key>a</key>
        <string>a1</string>
        <key>b</key>
        <string>b1</string>
    </dict>
    <key>2</key>
    <dict>
        <key>a</key>
        <string>a2</string>
        <key>b</key>
        <string>b2</string>
    </dict>
    <key>3</key>
    <dict>
        <key>a</key>
        <string>a3</string>
        <key>b</key>
        <string>b3</string>
    </dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我曾经遇到过一些问题,当我从 PDF 复制并粘贴某些内容到 Xcode 时(可能是某种不正确的符号?),当我重新输入它时,它工作得很好。此外,从文字处理器生成有效的 plist 通常很困难。