我正在开发iOS应用程序。它在Xcode 9.4.1中运行良好,但是当我在Xcode 10中构建它时,它会给我以下错误:
我通过改变编码尝试了solution given in the following post,但它没有用。我通过Reinterpret和Convert尝试了它
仍然是同样的错误:
它在Xcode 9.4.1上运行良好
任何帮助将不胜感激。谢谢!
听起来好像文件已损坏,可能部分文件以UTF-8编码,部分文件编码为8859-5。从它的名字,我怀疑这是一个西里尔语本地化(可能是俄语),该文件可能使用编辑器编辑,该编辑器没有正确维护编码或使用UTF-8(最常见的原因是在Windows上编辑) 。
您需要打开文件,可能是在外部编辑器中,可以处理vim或Sublime Text等随机编码,并修复任何损坏。具体如何做到这一点取决于腐败的性质。
在终端中找到Localizable.strings并执行:
$ iconv -f UTF-16LE -t UTF-8 Localizable.strings > LocalizableNew.strings
然后检查LocalizableNews.string,如果没有错误,只需替换文件
$ move LocalizableNew.strings Localizable.strings
您需要在文件检查器中设置正确的文本编码。默认值为UTF-8。
如果要在没有UI的情况下解决问题,则需要查找XCode项目定义(通常是YOURPROJECT.xcodeproj/project.pbxproj
),然后找到导致问题的文件引用。
你应该找到这样的东西(来自Adium,在这种情况下)
D182F1B611DFF23700E33AE2 /* sk */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/schema.strings; sourceTree = "<group>"; };
fileEncoding = 10
是UTF-16; 4
是UTF-8,目前是默认值,因此您可以明确地将其设置为该值,或者只是完全删除fileEncoding
位。