xcode存档构建失败,错误复制.strings文件错误:无法删除

时间:2011-10-08 23:37:08

标签: ios xcode4

使用存档构建模式构建要分发的项目时,会出现以下错误。在调试或发布模式下构建时,一切正常。提到的目录是空的。目录权限设置为当前用户的完全访问权限。有什么想法吗?

CopyStringsFile /Users/username/Library/Developer/Xcode/DerivedData/ProjectName-bikjmxotbfpkybhkqwlxysxcibrk/ArchiveIntermediates/ProjectName/InstallationBuildProductsLocation/Applications/ProjectName.app/es.lproj/Localizable.strings ProjectName/Resources/es.lproj/Localizable.strings
cd /Users/username/Coding/proj/game/ProjectName
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
builtin-copyStrings --validate --inputencoding utf-8 --outputencoding binary --outdir /Users/username/Library/Developer/Xcode/DerivedData/ProjectName-bikjmxotbfpkybhkqwlxysxcibrk/ArchiveIntermediates/ProjectName/InstallationBuildProductsLocation/Applications/ProjectName.app/es.lproj -- ProjectName/Resources/es.lproj/Localizable.strings

error: failed to remove /Users/username/Library/Developer/Xcode/DerivedData/ProjectName-bikjmxotbfpkybhkqwlxysxcibrk/ArchiveIntermediates/ProjectName/InstallationBuildProductsLocation/Applications/ProjectName.app/es.lproj/Localizable.strings: “Localizable.strings” couldn’t be removed.

8 个答案:

答案 0 :(得分:11)

当我对添加到项目中的文件夹进行重复引用时,发生了这种情况。删除重复的引用会修复它。

答案 1 :(得分:8)

好的,我想通了:

我不知道为什么Xcode想要删除首先在该位置不存在的文件,但它认为它与项目文件有关,而该文件由于没有明显原因而被破坏。

我修复它的方法是从项目中删除所有Localizable.strings文件(我在其自己的.lproj目录中有6个不同语言),然后逐个添加它们。 -

答案 2 :(得分:5)

我也面临这类问题。但我所做的只是清理项目“产品 - >清洁”并重建它解决了这个问题

答案 3 :(得分:2)

我有同样的问题......无论如何,这两个步骤肯定解决了它:

  1. 确保Localizable.strings文件以UTF-16而不是UTF-8编码。因此,如果您需要转换它们,您可以通过选择文件并在文件检查器中将文本编码更改为UTF-16来在XCode中进行转换

  2. 从项目中删除对文件的引用并重新添加它们。这应该修复CopyStringsFile错误。

答案 4 :(得分:1)

我有同样的问题:“Localizable.strings” couldn’t be removed。它几乎是随机发生的 - >当你尝试构建整个项目时(在切换git分支或清理项目之后) - >复制Localizable.strings个文件。我的应用程序中有4个本地化。

我尝试了所有提到的解决方案,但没有一个能帮助我: 1)项目设置正确 2)Apple自己推荐UTF-8https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html)。

最后我发现了另外一件事。事实证明,我生成的(使用过的fastlane poeditor_export插件)Localizable.strings文件没有最后一行(CR符号)。 将LF(新换行符号)添加到文件末尾,并且构建过程停止了抛出错误。

文件不符合POSIX标准(http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206)。

希望这会对某人有所帮助;)

BTW,同样的问题主题:Localizable.strings error - compiler says file is missing

答案 5 :(得分:1)

在尝试其他提到的步骤之前,请先检查此内容:- 就我而言,这是磁盘空间。我必须释放一些空间,然后才能再次运行它。

答案 6 :(得分:0)

我遇到了同样的问题,只是清洁没有解决它。

我设置了多个构建配置,以便输出具有不同捆绑标识符的不同应用程序以及复制某些文件的自定义脚本。使用新的自定义文件创建新的构建配置时,当我的脚本已经处理它们时,这些文件会自动添加到“复制包资源”构建阶段。

所以我需要做的只是从 MyTarget>中的 Copy Bundle Resources 列表中删除它们。建立阶段

答案 7 :(得分:0)

就我而言,我的 .string 文件在 Xcode 侧边栏中的不同位置被引用,但它在计算机中的实际磁盘位置不同。我将文件移动到计算机中的引用位置(与 Xcode 中相同),并且运行良好。