2012-06-07 4 views
3

Если я использую Xcode «Find/Replace in workspace», он пропускает любой текст, содержащийся в UIViews в файлах XIB.Может ли Xcode найти/заменить в XIB?

В любом случае, чтобы сделать это в Xcode или мне нужно использовать другой инструмент?

Спасибо!

+0

В результате я использовал инструмент поиска и замены сторонних разработчиков для изменения текста на нескольких XIB. Осторожно, однако, такие вещи, как «&», нужно будет заменить на &, иначе вы получите ошибки при попытке и снова открыть XIB. – sayguh

ответ

1

Найти и заменить вариант Xcode, если для замены текста/строки не для файлов.

Если вы хотите сделать это, у вас может быть сценарий оболочки/яблочный скрипт.

1

Если у вас действительно есть много этого текста, который вы хотите найти/заменить, вы можете найти IBTool.

Обычно он используется для экспорта/импорта текстов из/в .XIB по причинам перевода, но он также должен соответствовать вашим потребностям.

Вы можете увидеть пример использования IBTool на iPhone Applications Localization Guide. Вас будут интересовать пункты 2 и 5 руководства.

  • экспортировать строки с помощью IBTool
  • вы найти/заменить в любом текстовом редакторе
  • вы реимпорт Строка
2

XCode успешно имена Refactor IBOutlet, даже если они соединены в нить. Поэтому, чтобы ответить вам:

Перед тем, как выбрать «Найти/заменить на текст», сначала проверьте, не заменит ли Xcode вместо него. Он не будет реорганизовывать определенные вещи (например, перечисления и #defines). Если это будет Refactor вашего целевого текста, тогда выберите это, и все должно быть в порядке.

+0

Не смотрите на репозитарии. В частности, текст, содержащийся в UIViews – sayguh

1

Вы можете использовать найти и СЭД из командной строки

find . -name '*.xib' -type f -exec sed -i "" 's/OldText/NewText/g' {} \ 

Например, я просто должен был найти и заменить все класс приставкой от SC до MCSC и я использовал:

find . -name '*.xib' -type f -exec sed -i "" 's/[[:<:]]SC/MCSC/g' {} \ 

В [[: <:]] указывает границу слова на OS X (см. https://stackoverflow.com/a/5734237/456366).

+0

, работал как шарм! Просто отметьте, что есть ';' в конце (я не знаю, если это опечатка или SO игнорирует ее). –

Смежные вопросы