Как изменить расположение сгруппированного (локализованного) файла с абсолютного на относительный путь в XCode 4?

У меня возникли проблемы с установкой всех путей расположения файлов относительно XCode 4.

У меня есть несколько infoplist.strings и CustomLocalizable.strings(для разных языков), сгруппированных вместе (XCode делает это автоматически). При просмотре файла Inspector (View → Utilities → Show File Inspector) для этих файлов (кроме английского языка, который является языком по умолчанию), "Местоположение" - "Абсолютный путь".

Проблема заключается в том, что раскрывающееся меню Location для этих файлов в File Inspector выделено серым цветом, оно отключено.. Это препятствует мне изменять местоположение файла с абсолютного пути до описания относительного пути.

Что мне нужно сделать, чтобы все расположения путей в файлах относились относительно группы?

Я уже пытался изменить расположение пути к файловой группе, например, "по отношению к группе" или "по отношению к проекту". Для группы я также установил относительный путь, щелкнув маленькую иконку, удалив раскрывающееся меню в инспекторе файлов.

Я искал какое-то решение и понимаю, может ли кто-нибудь помочь мне ответить на вышеупомянутый вопрос.

Спасибо!

Ответ 1

Основываясь на ваших ответах, мой собственный ответ в комментариях, похоже, работает. Так вот, это официальный ответ:

  • Выберите один из локализованных файлов в группе (например, infoPlist.strings, CustomLocalizable.strings): щелкните файл в дереве проекта

  • В "Инспекторе файлов" на панели локализации удалите все языки, для которых файлы имеют абсолютный путь, используя кнопку "-".

  • Добавьте языки снова, используя "+" → "Добавить все" или конкретный язык. Сгруппированные и локализованные файлы снова появятся в дереве. В инспекторе файлов вы увидите, что местоположение изменено на "Относительно группы"

Ответ 2

Спасибо, ответ был предоставлен в качестве комментария в вопросе, который работал у меня в Xcode 4.2. Это определенно ошибка в части Apple, чтобы установить все записи файла локализации как абсолютные пути.

Еще один вариант... выполните поиск в файле project.pbxproj для вашего файла строк и обратите внимание на абсолютные пути. Вы можете просто редактировать записи в текстовом редакторе, чтобы выглядеть так:

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

Если у кого-то есть множество файлов, и метод UI для этого будет слишком медленным, попробуйте!

Ответ 3

Вы можете изменить путь к файлу без его удаления и повторного добавления:

  • В Project Navigator найдите отсутствующие файлы (цветной красный для не найден) и выделите один из них.
  • Показать File Inspector
  • В Location измените Absolute Path на Relative to group или Relative to project,
  • Затем рядом с дорожкой появится маленький белый значок, щелкните его и выберите расположение файла.