Файл InfoPlist.strings не может быть открыт - PullRequest
9 голосов
/ 20 февраля 2012

Может кто-нибудь, пожалуйста, помогите мне?Что я должен сделать, чтобы исправить ошибку "Файл InfoPlist.strings не может быть открыт, потому что такого файла нет"?Он появился после того, как я обновил свой проект из SVN.На самом деле в моем проекте есть InfoPlist.strings, я понятия не имею, почему XCode его не видит.

Возможно, следующая информация поможет вам понять, что происходит: когда я раскрываю InfoPlist.strings, нажимая натреугольник рядом с ним, затем он показывает: InfoPlist.strings (английский), InfoPlist.strings (немецкий), InfoPlist.strings (французский).Английский - черный, а французский и немецкий - красный, поэтому я полагаю, что с ними что-то не так, и это может быть причиной ошибки.Кроме того, у меня есть Localizable.strings, который ведет себя аналогичным образом.Он имеет (при расширении) Localizable.strings (английский), Localizable.strings (немецкий), Localizable.strings (французский) и так же, как в InfoPlist.strings английский является черным, тогда как французский и немецкий красный.

Когдая смотрю в папку моего проекта - там есть следующее: папка с именем en.lproj содержит Localizable.strings и InfoPlist.strings.Папки с именами fr.lproj и de.lproj содержат одно и то же - Localizable.strings и InfoPlist.strings.Похоже, я все описал.Пожалуйста, объясните мне, что делать.Я работаю с Xcode 4.2

Ответы [ 8 ]

10 голосов
/ 10 мая 2012

Мне только что удалось решить эту проблему!

Мой второй файл Strings.plist (FR) имел абсолютный путь. Раскрывающееся меню для типа пути (абсолютный, относительный) было серым на информационной панели xcode, поэтому я не мог изменить его на относительный путь.

Решение состоит в том, чтобы изменить его вручную в файле project.pbxproj:

Если вы откроете файл для просмотра источника и выполните поиск «plist», найдите следующую строку:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = /Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings; sourceTree = "<absolute>"; };

Обратите внимание, что атрибут path - это полный путь к файлу, а атрибут sourceTree имеет значение <absolute>.

Теперь измените path так, чтобы оно было относительным:

/Users/[YOUR-USER]/[PATH_TO_PROJECT]/fr.lproj/InfoPlist.strings

должно стать

fr.lproj/InfoPlist.strings

Также измените значение sourceTree с <absolute> на <group>

Теперь строка должна выглядеть следующим образом:

/* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };

Повторите эти шаги для всех ваших локализаций, которые застряли с абсолютными путями.

Сохраните файл, передайте изменения и voilà! не более нет такого файла проблема:)

3 голосов
/ 01 марта 2012

info.plist исходный код: лайк: .... {isa = PBXFileReference; lastKnownFileType = text.plist.strings; имя = en; путь = en.lproj / InfoPlist.strings; sourceTree = ""; }; ....

проверить "путь" это абсолютный путь?

1 голос
/ 08 января 2015

У меня была та же проблема, ее легко исправить: выберите файл plist в xcode и убедитесь, что его "Target Membership" включено (для сборки, которую вы делаете).

0 голосов
/ 05 января 2016

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

0 голосов
/ 21 января 2015

Решением для этого конкретного случая ошибки было «Не удалось открыть Info.plist, потому что такого файла нет» - я удалил все файлы в папке «Project Tests», но все еще имел «Тесты проекта» перечислены под моими целями. После удаления цели «тесты» проект успешно собран.

0 голосов
/ 21 декабря 2012

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

0 голосов
/ 20 декабря 2012

Лучшая информация прямо здесь. Извините, что так глупо, что поставил ссылку на это - но они отредактировали его в сентябре - и теперь это имеет смысл ...

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

0 голосов
/ 20 февраля 2012

Путь к вашему файлу Info.plist определяется в настройках сборки для цели. Посмотрите и посмотрите, что он установлен. Если проект пришел с другого компьютера, это может быть абсолютный путь, но на самом деле это должен быть путь относительно корня проекта, например Sources/Info.plist.

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