Ответ 1
Более подходящее исправление:
ln /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
xcrun -k lipo
Почему: исправление xfx скорее всего нарушит возможность использования xcode-select для выбора вашей инструментальной цепочки в будущих версиях Xcode.
Pre-Mavericks и Xcode 5.x,/usr/bin/lipo, по-видимому, являются фактическим расположением реального инструмента липо (try cat /usr/bin/lipo
- выглядит как большой двоичный файл). В Mavericks/Xcode 5.x липо был перемещен в XcodeDefault.xctoolchain, а двоичный код в /usr/bin/lipo
- это тонкая оболочка, которая, как представляется, просто вызывает xcrun lipo
(см. nm /usr/bin/lipo
), которая, в свою очередь, находит местоположение липо на основе xcode-select
.
Возможно, новые версии xcode-select
и/или Mavericks заменяют версию /usr/bin/lipo версией обертки. Если вы затем попытаетесь использовать lipo с инструментальной цепочкой 4.x xcode-select
'd, это не сработает, поскольку инструмент не содержится в более ранних версиях Xcode. К счастью, он по-прежнему включен в iPhoneOS.platform по какой-то причине, иначе вам, вероятно, придется вытащить его из неповрежденной машины lt = = 10.8.
Похоже, что было много перетасовки инструментов между Developer/usr/bin и Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin в переключателе 4- > 5 - меня не удивило бы, если бы аналогичные проблемы с другими менее часто используемыми инструментами командной строки.
Наконец, тот факт, что xcrun зависает, когда он не может найти инструмент, кажется явной ошибкой Apple, простой и простой.