Сбой сборки архива xcode с ошибкой Скопировать файл .strings Ошибка: не удалось удалить - PullRequest
17 голосов
/ 09 октября 2011

При сборке проекта для распространения с использованием режима сборки архива появляется следующая ошибка.При сборке в режиме отладки или выпуска все работает нормально.Указанный каталог пуст.Права доступа к каталогу установлены на полный доступ для текущего пользователя.Есть идеи?

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.

Ответы [ 6 ]

11 голосов
/ 27 марта 2013

Это случилось со мной, когда в проект были добавлены дубликаты ссылок на папку.Удаление дубликатов ссылок исправило это.

8 голосов
/ 10 октября 2011

Хорошо, я понял:

Я точно не знаю, почему XCode хотел удалить файл, который не существовал в этом месте, но он думал, что это связано с файлом проекта, который был поврежден без видимой причины.

Способ, которым я исправил это, состоял в том, чтобы просто удалить все файлы Localizable.strings из проекта (у меня было 6 для разных языков каждый в своем собственном каталоге .lproj), а затем снова добавить их один за другим. -

5 голосов
/ 17 апреля 2012

Я тоже сталкиваюсь с этим типом проблемы.Но я просто очистил проект «Продукт -> Очистить» и перестроил его, чтобы решить эту проблему

2 голосов
/ 13 марта 2012

У меня была такая же проблема ... в любом случае, эти 2 шага определенно решили ее:

  1. Убедитесь, что файлы Localizable.strings кодируются в UTF-16 вместо UTF-8. Поэтому, если вам нужно конвертировать их, вы можете сделать это в XCode, выбрав файлы и изменив кодировку текста на UTF-16 в Инспекторе файлов

  2. удалите ссылки на файлы из вашего проекта и заново добавьте их. Это должно исправить ошибку CopyStringsFile.

1 голос
/ 13 марта 2017

У меня была такая же проблема: “Localizable.strings” couldn’t be removed.Это произошло почти случайно -> при попытке собрать весь проект (после переключения веток git или очистки проекта) -> Копирование Localizable.strings файлов.В моем приложении было 4 локализации.

Я перепробовал все упомянутые решения, но ни одно из них не помогло мне: 1) проект был настроен правильно 2) UTF-8 рекомендуется самой Apple (* 1007)*

Наконец-то я нашел еще одну вещь. Оказалось, что мой сгенерированный (использованный fastlane poeditor_export плагин) Localizable.strings файл не имеет последней строки (символ CR). Добавлен LF (перевод новой строки)символ в конце файла и процесс сборки перестал выдавать ошибку.

Файл не соответствует стандарту POSIX (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206).

Надеюсь, это кому-нибудь будет полезно;)

Кстати, та же тема выпуска: Ошибка Localizable.strings - компилятор сообщает, что файл отсутствует

0 голосов
/ 03 декабря 2017

У меня была такая же проблема, и простая очистка не устранила ее.

У меня есть несколько конфигураций сборки, настроенных для вывода разных приложений с разными идентификаторами пакетов и пользовательского сценария, который копирует некоторые файлы. При создании новых конфигураций сборки с новыми пользовательскими файлами эти файлы автоматически добавлялись в фазу сборки «Копировать ресурсы комплекта», когда мой сценарий уже позаботился о них.

Итак, мне нужно было просто удалить их из списка Ресурсы набора копий в MyTarget> Build Phases .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...