как исправить проблему "команда / 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

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

18 80

18 ответов:

 Target -> Build-Phases -> update examples

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

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

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

в 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: System Junk - > Xcode Junk - > Xcode Derived Data

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

2) затем в Xcode: Product - > Clean

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

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

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

Что получилось:

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

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

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

  4. установите "назначение" в рамки

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

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

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

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

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

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

удалите все модули и установите снова.

действия:

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