Невозможно использовать строки команд в OS X El Capitan

Я работаю над приложением iOS, используя Xcode 6.4 в OS X 10.11 El Capitan (бета-версия 3).

Всякий раз, когда я пытаюсь локализовать с помощью команды терминала genstrings, я получаю сообщение

genstrings: ошибка: не удалось найти утилиту «genstrings», а не инструмент разработчика или в PATH

Я получаю эту ошибку со 2-й бета-версии.

Кому-нибудь приходилось заниматься этим вопросом? Заранее спасибо!


person ajpallares    schedule 09.07.2015    source источник
comment
Напечатайте переменную $PATH в своем терминале, а затем проверьте наличие в этих каталогах утилиты genstrings. Если вы не можете найти его там, вам нужно установить его вручную или добавить каталог к ​​вашему пути, чтобы он мог найти команду.   -  person ndmeiri    schedule 09.07.2015
comment
Спасибо @ndmeiri за ваш ответ. Дело в том, что genstrings dos появляются в одном из каталогов... Вот это странно   -  person ajpallares    schedule 10.07.2015
comment
У меня точно такая же проблема с выпускной версией El Capitan :-(   -  person Erik van der Neut    schedule 02.10.2015


Ответы (4)


Привет, я также сталкиваюсь с этой проблемой при попытке использовать genstrings Xcode 6.4 в OS X El Capitan с установленным Xcode 7.

По какой-то причине genstrings для Xcode 6.4 в /Applications/Xcode.app/Contents/Developer/usr/bin отсутствует. Я попытался переустановить инструменты разработчика Xcode, запустив xcode-select --install, но безрезультатно.

Решение, которое я использую, представляет собой своего рода хак, который создает символическую ссылку из genstrings в Xcode 7 в путь Developer/usr/bin Xcode 6.4, как показано в следующей команде.

sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/usr/bin/genstrings /Applications/Xcode.app/Contents/Developer/usr/bin
person Nicholas T.    schedule 12.07.2015
comment
Спасибо @Nicholas за вашу помощь!. Кажется, это работает. Я думаю, это временное решение - person ajpallares; 13.07.2015
comment
У меня установлен только Xcode 6.4, и у меня точно такая же проблема. Странно то, что у меня есть исполняемый файл /usr/bin/genstrings на моей машине, но когда я запускаю его, я получаю ту же ошибку. Будет ли мое единственное исправление на данный момент состоять в том, чтобы установить Xcode 7 параллельно и указать на эти genstrings? Это так странно... :-( - person Erik van der Neut; 02.10.2015
comment
Я установил Xcode 7 как Xcode.app после переименования моей версии 6.4 в Xcode 6.4.app. Теперь генстринги снова работают, а вот мои кокоаподы нет. Является ли решение для всего этого каким-то образом переключиться обратно на инструменты командной строки 6.4 (я думаю, за это есть похвала), а затем сделать эту символическую ссылку, как говорит Николас? - person Erik van der Neut; 04.10.2015
comment
Ладно, все — осталось только переключить версию инструментов командной строки в настройках Xcode. Итак, решение для меня: (1) установить как 6.4, так и 7, (2) выбрать 6.4 версии инструментов командной строки в настройках, когда нужно запустить Cocopods, (3) выбрать 7 версию инструментов командной строки в настройках, когда нужно запустить генструны. Конечно, эта символическая ссылка также является блестящим хаком. - person Erik van der Neut; 04.10.2015

Похоже, Apple не предлагает долгосрочного решения

OS X El Capitan больше не поставляется с genstrings. Вместо этого эта утилита предоставляется Xcode 7. Это означает, что более старые версии Xcode не будут находить genstrings в /usr/bin, как в более старых версиях OS X. (19708961)

Примечания к выпуску Xcode 7

person ChrisSH    schedule 02.10.2015

Мне нужно было изменить путь к моему активному каталогу разработчика.

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

$ xcode-select -p

Который изначально выводит /Library/Developer/CommandLineTools.

Решение:

мне пришлось бежать

$ sudo xcode-select -s /Applications/Xcode.app

который затем изменил вывод первой команды на /Applications/Xcode.app/Contents/Developer. После этого команда genstrings была найдена корректно.

person AdamPro13    schedule 14.01.2020

OS X 10.11 (El Capitan) больше не включает genstrings (см. Примечания к выпуску Xcode 7). Теперь он включен в Xcode 7. Если вы выбрали Xcode 6.4 в качестве инструментов командной строки, вы не сможете запустить genstrings. Однако вы можете использовать xcrun и установить переменную среды DEVELOPER_DIR для запуска из Xcode 7, даже если эта версия не выбрана в качестве инструментов командной строки:

DEVELOPER_DIR=<path to Xcode 7.x> xcrun genstrings

например, если у вас установлена ​​последняя версия Xcode как /Applications/Xcode.app, вы можете сделать

DEVELOPER_DIR=/Applications/Xcode.app xcrun genstrings
person Ben Lings    schedule 11.04.2016