iPhone에서 "명령 / bin / sh가 종료 코드 1로 실패"문제를 해결하는 방법


92

내 응용 프로그램에서 코코아 정적 라이브러리를 사용했습니다. 내 라이브러리를 컴파일 할 때 다음 오류가 발생합니다.

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

오류 스크린 샷

이 문제를 어떻게 해결할 수 있습니까?

답변:


208

 대상-> 빌드 단계-> 업데이트 예제

선택하지 않은 경우 On Run 확인란을 클릭합니다.


2
이 확인란은 Build Phases → Bundle React Native code and images에있을 수 있습니다.
rishat

4
보관시 / 구축 전화에 응용 프로그램을 설치하지만 때 나를 위해이 작품
아데 엠

이 대답은 맞습니다. 그러나 설정 모드 Generc iOS 장치에서 모든 빌드를 얻기 위해 ... errr을 다시 얻으십시오 @Harshad
reza_khalafi

@reza_khalafi는 명확한 데이터가 있는지 확인하고 파생 된 데이터를 삭제합니다. 그런 다음 다시 시도하십시오.
Harshad

1
@Harshad 작품 보관을 위해 구축 아니라 동안
NGB

63

키 체인 액세스를 거부했기 때문에이 문제가 발생했습니다.이 문제를 해결하려면 키 체인을 열어야합니다. 그런 다음 화면 오른쪽 상단의 잠금을 클릭하여 다시 잠그면 보관할 수 있으며 작동합니다.


3
정말 고맙습니다! Btw, 적어도 나에게는 자물쇠가 왼쪽에 있습니다. 열려 있었고 닫아야했습니다.
Eironeia

불행히도 기억하지 못하는 소스에서이 솔루션을 공유했습니다.
Salem Binmusaed

나는 제품을 보관하려고하지만 장치에 응용 프로그램을 설치할 수있을 때, 나는 키 체인을 열 수 있지만 당신은 어떤 잠금을 찾을 수 종료 코드 (134)를 가지고 어디, 내 엑스 코드 버전 9.2, 정말 필요한 도움
showmyroutes

42

"파생 데이터"삭제는 저에게 효과적이었습니다.

Xcode에서 파일> 작업 공간 설정으로 이동하고 파생 데이터 파일 경로 옆에있는 화살표를 클릭 한 다음 "파생 데이터"폴더를 휴지통으로 이동합니다.


1
어떤 Xcode 버전을 참조하고 있습니까? ... Xcode 6.2에서 참조하는 메뉴 / 창 또는 옵션이 없습니다
CthulhuJon

2
그것의 in windows-> Organizer not Windows Projects
CthulhuJon

작동하지만 프로젝트를 정리하고 나를 위해 Xcode를 다시 시작해야합니다
Hosny

1
파일-> 작업 공간 설정 ...-> 파생 데이터. 경로 끝에있는 화살표를 클릭합니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 휴지통으로 이동합니다. iOS 10.12.6
Augustas 2017

30

쉘 스크립트를 실행 중이며 특정 파일을 찾을 수 없습니다. 봐 Target -> Build-Phases -> RunScript스크립트를 실행하는 경우.

빌드 출력 (네비게이터 패널)에서 스크립트가 실행 중인지 확인할 수 있습니다. 스크립트가 잘못된 작업을 수행하면 빌드 단계가 중지됩니다.


SKM 내 답변을 수정했습니다. 정적 라이브러리를 찾기 위해이 스크립트를 만든 Xcode 일 수 있습니다. 그건 그렇고 /Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/libSCXMLParser.a에서 파일을 찾을 수 없기 때문에 컴파일되지 않습니다. 그래서 거기를 포함해야합니다
미스터 봉쥬르

19

나는 같은 문제가 해결되었습니다. Xcode 6.4의 문제를 해결하려면 아래 단계를 사용하십시오 .

  1. 를 클릭 보기 프로젝트 네비게이터 에서 Navigator 창
  2. 이제 프로젝트 선택 네비게이터 창 바로 아래에서
  3. 대상 선택
  4. 빌드 단계 선택 탭을
  5. 스크립트 실행 드롭 다운 옵션 열기
  6. 선택 스크립트 실행에만 설치 체크 박스

단계 스크린 샷

이제 프로젝트를 정리 (cmd + shift + k) 하고 프로젝트를 빌드하십시오.


이것은 받아 들여진 대답이어야합니다. 문제 bin / sh에게 이것이 해결책입니다.
야쉬 베디

9

빌드 폴더 청소 (Cmd + Shift + Alt + K)가 저에게 효과적이었습니다.


3

1) pod 폴더와 .xcworkspace 파일을 삭제합니다. 2) 터미널에서 폴더를 엽니 다. 3) "pod install"을 입력합니다.


1

.a 라이브러리를 xcode projet에 추가 했습니까? (프로젝트-> 빌드 단계-> 바이너리를 라이브러리와 연결-> '+'클릭-> '기타 추가'클릭-> 라이브러리 선택)

라이브러리가 시뮬레이터와 호환되지 않을 수 있습니다. iDevice (시뮬레이터가 아님) 용으로 컴파일을 시도 했습니까?

(나는 이미 두 번째 문제로 싸웠습니다. 시뮬레이터에서 작동하지 않는 라이브러리가 있지만 실제 장치로 컴파일됩니다 ...)


1

저에게는 인증서가 만료되었습니다. 새 인증서를 만들었습니다.


0

나는 Xcode (7)을 다시 시작하려고 시도했지만 아무것도 ( 당신 이 나를 위해 iOS 개발을 껐다가 다시 켜 보았습니다 :-)). 그런 다음 내 상자를 다시 시작해 보았습니다.

제 경우에는 한 위치에서 다른 위치로 파일을 복사 할 때 스크립트가 실패했습니다. 특정 폴더에 대한 쓰기 권한이있는 Finder와 관련이있을 수 있다고 생각합니다.


0

나 에게이 오류는 소스 트리에서 코드를 가져올 때 버전 번호를 1에서 1.0으로, 빌드 번호를 6에서 1.1로 변경했기 때문에 발생했습니다. 방금 다시 변경하고 빌드 번호를 6에서 7로 변경했는데 제대로 작동했습니다.


0

내 경우에는 스크립트 가 실패한 경로에 공백이있었습니다. 변수를 사용하는 경우 $PROJECT_DIR또는 변수를 각각 $TARGET_BUILD_DIR바꾸 "$PROJECT_DIR"거나 "$TARGET_BUILD_DIR"따옴표를 추가 한 후 스크립트가 성공적으로 실행되었습니다.


0

스크립트를 파일에 넣고 명령 줄 끝에 2> / dev / null 을 사용하여 해당 파일을 실행하십시오 !

이렇게하면 명령에 문제가 있어도 xcode 빌드가 중단되지 않습니다.

제 경우에는 연결된 iPhone에서 이전 앱 사본을 제거하는 명령 만 실행 했으므로 iPhone이 없으면 오류가 발생할 수 있습니다. 그것을 해결하려면 :

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



0

위의 모든 작업을 수행하고 문제에 한 시간을 보냈습니다.

위의 모든 것을 시도하고 Xcode를 다시 시작했습니다.

마지막으로 컴퓨터를 다시 시작하고 모든 것이 정상적으로 작동합니다!


1
이 게시물에 답변을 추가하지 않았습니다. 컴퓨터를 다시 시작하는 것은 무엇이 잘못되었는지 설명하는 데 도움이되지 않으므로 설명이 될 수 있습니다.
Bojan Petkovic

일부 이상한 문제, 파생 데이터 삭제 및 새 빌드 시스템 전환 / 전환 해제. 그러나 다시 시작한 후에 나는 괜찮 았습니다!
Oritm

0

나는 내가 한 일 목록을 것 나를 위해 작동하지 않았다 마침내과 무엇을했다

첫째, 설치시에만 스크립트 실행에 대한 응답이 작동하지 않았습니다.

파생 데이터 삭제가 작동하지 않았습니다.

작동 한 것 :

  1. 빌드 단계에 새 빌드 단계를 추가했습니다.

  2. 새 파일 복사 단계

  3. 선택한 프레임 워크를 드롭 대상으로 끌어다 놓습니다.

  4. '대상'을 프레임 워크로 설정

Kevin Le의 중간 게시물 로 인한 크레딧


0

해당 옵션 (예 : cocoapods 사용)을 선택 취소하고 싶지 않은 사람들의 경우 인증서 / 키에 문제가있을 수 있습니다.

Xcode (또는 명령 줄 도구와 같이 사용중인 도구)는 키 체인의 인증서 / 키를 사용할 수 있어야합니다. 이를 위해 키 체인을 열고 사용하려는 인증서 (일반적으로 login키 체인에 있음 My Certificates) 를 찾고 키 를 마우스 오른쪽 버튼으로 클릭 하고을 선택 Get Info하고 Access Control탭을 클릭 한 다음 앱을 목록에 추가합니다.

그래도 작동하지 않으면 키 체인을 잠금 해제 해보십시오.

다른 옵션은 특정 앱 대신 모든 애플리케이션이이 항목에 접근 하도록 허용을 선택 하거나 System해당 Mac의 모든 사용자 계정간에 공유되는 키 체인으로 인증서 / 키를 이동할 수 있습니다 .

또한 인증서가 만료되지 않았는지 확인하십시오.



0

제 경우에는 스크립트 중 하나 (관련 SwiftGen)가 컴파일 중에 실패했습니다.

를 제거한 Pods다음 다시 업데이트 하여 문제를 해결했습니다 .

  1. Pods디렉토리 에서 문제가있는 포드를 제거 하거나pod deintegrate
  2. 사용하여 포드를 업데이트 / 설치 pod install또는pod update

추신 : 귀하의 종속성이 글로벌이고 포드에 없을 수 있습니다. 이 경우 해당 종속성을 다시 설치할 수도 있습니다.


0

Crashlytics를 사용하고이 문제가 발생하는 경우이 내용을 읽어보십시오 ...

Command /bin/sh failed with exit code 1더 구체적 으로 위와 같은 문제가 발생했습니다.[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m

첫 번째 솔루션 (설치할 때만 스크립트 실행 활성화)을 통해 시뮬레이터에서 타겟을 빌드 할 수 있었지만 빌드를 보관할 수 없었습니다.

Firebase에서 Crashlytics를 사용 설정하여이 보관 문제를 해결했습니다. Crashlytics가 자동으로 활성화되는 Fabric에 여전히 익숙합니다. 해당 GoogleService-Info.plist에 대해 firebase 콘솔에서 Crashlytics를 사용 설정하면이 오류없이 보관할 수있었습니다.


-1

모든 포드를 제거하고 다시 설치하십시오.

단계 :

  1. 모든 포드에 주석 달기 및 실행 pod install
  2. 모든 포드의 주석 처리를 제거하고 실행 pod install
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.