【问题标题】:xcode archive build fails with error Copy .strings file Error : Failed to removexcode 存档构建失败并出现错误复制 .strings 文件错误:无法删除
【发布时间】:2011-12-03 18:25:59
【问题描述】:

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

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.

【问题讨论】:

  • #NoelHunter 是对的,它是不同组中的重复文件。
  • 作为一个仅供参考,我认为导致此特定错误的原因是因为构建过程是多线程的,并且重复文件的目标是相同的。所以第一个线程删除文件并准备复制它,然后第二个线程尝试删除相同的目标,这显然失败了。

标签: ios xcode4


【解决方案1】:

当我对添加到项目中的文件夹有重复引用时,这发生在我身上。删除重复的引用修复了它。

【讨论】:

    【解决方案2】:

    好的,我想通了:

    我不完全知道为什么 Xcode 首先要删除该位置不存在的文件,但它认为这与项目文件有关,该文件无缘无故损坏。

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

    【讨论】:

      【解决方案3】:

      我也面临这种类型的问题。但我所做的只是清理项目“Product -> Clean”并重建它来解决这个问题

      【讨论】:

      • Apple 应该将 Xcode 作为示例添加到他们关于如何不创建应用程序的蹩脚文档中。 Xcode 是一个废话。感谢您的回答。它成功了。
      【解决方案4】:

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

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

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

      【讨论】:

      • 一直没有工作,有时 xcode 给我同样的复制字符串错误
      【解决方案5】:

      请在尝试其他提到的步骤之前检查一下:- 就我而言,它是磁盘空间。在再次运行之前,我必须释放一些空间。

      【讨论】:

        【解决方案6】:

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

        我已经尝试了所有提到的解决方案,但没有一个对我有帮助: 1) 项目设置正确 2)UTF-8是苹果自己推荐的(https://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)。

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

        顺便说一句,同一问题线程:Localizable.strings error - compiler says file is missing

        【讨论】:

          【解决方案7】:

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

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

          所以我需要做的只是将它们从 MyTarget > Build PhasesCopy Bundle Resources 列表中删除。

          【讨论】:

          • 谢谢,我也遇到了同样的问题!
          【解决方案8】:

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

          【讨论】:

            猜你喜欢
            • 2011-12-19
            • 2017-11-02
            • 1970-01-01
            • 2021-08-04
            • 1970-01-01
            • 2014-11-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多