как исправить проблему "команда/bin / sh не удалось с кодом выхода 1" в iphone

я использовал статическую библиотеку cocoa в своем приложении. Когда я компилирую свою библиотеку, я получил следующую ошибку:

Shell Script invocation error:can't open input file:
/Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-
    bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/
    libSCXMLParser.a (No such file or directory)
Command /bin/sh failed with exit code 1

Screenshot for error

Как я могу это исправить?

18 ответов


 Target -> Build-Phases -> update examples

установите флажок Выполнить, если он не выбран.


У меня была эта проблема, потому что я отказал keychain access и для ее решения вам нужно открыть keychain, Затем нажмите на замок в правом верхнем углу экрана, чтобы заблокировать его снова, после этого вы можете архивировать, и он будет работать


удаление "производных данных" работало для меня.

в Xcode перейдите в файл > настройки рабочей области > щелкните стрелку рядом с путем к файлу производных данных > переместите папку "производные данные"в корзину.


Кажется, вы запускаете скрипт и он не может найти определенный файл. Посмотреть Target -> Build-Phases -> RunScript Если вы используете скрипт.

вы можете проверить, запущен ли скрипт в выходных данных сборки (на панели навигатора). Если ваш скрипт делает что-то неправильно, фаза сборки остановится.


У меня была такая же проблема. Используйте следующие шаги для решения проблемы в Xcode 6.4.

  1. нажать на кнопку показать навигатор проекта на окне "навигатор"
  2. теперь выберите проект непосредственно под окном навигатора
  3. выберите цели
  4. выберите Собрать Фаз tab
  5. открыть Выполнить Скрипт выпадающее параметр
  6. выберите выполнить скрипт только при установке флажок

Screenshot for steps

теперь очистите свой проект (cmd+shift+k) и создайте свой проект.


очистка папки сборки (Cmd + Shift + Alt + K) работала для меня


1) удалите папку pod и .файл xcworkspace 2) Откройте папку в терминале 3) Введите "pod install"


вы добавили .библиотека для проекта xcode ? (проект - > этапы сборки - > связать двоичный файл с библиотеками - > нажмите на " + "- > нажмите "Добавить другие" - > выберите библиотеку)

и, возможно, библиотека несовместима с симулятором, вы пытались скомпилировать для iDevice (не симулятор) ?

(Я уже боролся со второй проблемой, у меня есть библиотека, которая не работала с симулятором, но с реальным устройством, которое он компилирует...)


для меня срок действия моего сертификата истек. Я создал новый сертификат.


Я сделал все выше, и потратил час на этот вопрос.

попробовал все выше, а также перезапустил Xcode.

наконец, перезагрузил компьютер и все снова работает нормально!


Я попытался перезапустить Xcode (7) и ничего (вы пытались выключить и включить его снова разработки iOS для меня :-)). Затем я попытался перезапустить свою коробку, и это сработало.

в моем случае сценарий не удался при копировании файла из одного места в другое. Я думаю, что это могло быть связано с тем, что Finder завинчивал права на запись над определенными папками.


для меня эта ошибка произошла, потому что я изменил номер версии с 1 на 1.0 и номер сборки с 6 на 1.1, когда я вытащил код из исходного дерева. Я просто изменил его обратно и изменил номер сборки с 6 на 7, и он работал нормально.


в моем случае в пути было место, которое не соответствовало сценарию.Если вы используете переменные, такие как $PROJECT_DIR или $TARGET_BUILD_DIR затем заменить их "$PROJECT_DIR" или "$TARGET_BUILD_DIR" соответственно.После добавления кавычек мой скрипт успешно запустился.


просто поместите свой скрипт в файл и запустите этот файл с 2>/dev / null В конце командной строки!

таким образом, если есть проблема с командой, она не остановит вашу сборку xcode

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

$mobiledevice uninstall_app com.my.app 2>/dev/null


единственное, что сработало для меня:

1) удалить производных данных с CleanMyMac: мусор -> системе Xcode хлам -> в Xcode данных

удаление производных данных с помощью CleanMyMac

2) затем в Xcode: продукт -> очистить


Я перечислю вещи, которые я сделал это не работает для меня и наконец зачем

во-первых, принятый ответ Run script только при установке не работал.

удаление производных данных не работает.

Что сработало:

  1. Я добавил новую фазу сборки в фазах сборки

  2. Новая Фаза Копирования Файлов

  3. перетащите выбранный фреймворк в drop target

  4. установите "назначение" в Frameworks

кредит средний пост Кевина Ле


для тех, кто не хочет снимать этот флажок (например, с помощью cocoapods), проблема может быть с сертификатом/ключом.

Xcode (или любой инструмент, который вы используете, например, инструмент командной строки) должен иметь возможность использовать сертификат/ключ из Связки ключей. Для этого откройте связку ключей, найдите сертификат, который вы хотите использовать (обычно на login брелок My Certificates), щелкните правой кнопкой мыши по клавише, выберите Get Info, нажмите кнопку Access Control tab и добавить приложение к список.

если это не работает, попробуйте разблокировать брелок.

другой вариант можно выбрать разрешить всем приложениям доступ к этому пункту вместо конкретных приложений и/или переместить сертификат / ключ в System keychain, который совместно используется всеми учетными записями пользователей на этом Mac.

также убедитесь, что срок действия сертификата не истек.


удалите все стручки и установите снова.

действия:

  1. прокомментируйте все стручки и запустите pod install
  2. раскомментировать все стручки и работать pod install