programing

아이폰에서 "명령 /bin/sh failed with exit code 1" 문제를 해결하는 방법

closeapi 2023. 9. 13. 22:38
반응형

아이폰에서 "명령 /bin/sh failed with exit code 1" 문제를 해결하는 방법

애플리케이션에서 코코아 정적 라이브러리를 사용했습니다.라이브러리를 컴파일할 때 다음 오류가 발생했습니다.

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

이거 어떻게 고쳐요?

 Target -> Build-Phases -> update examples

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

키체인 접근을 거부했기 때문에 이 문제가 있었습니다. 이를 해결하려면 키체인을 열어야 합니다. 화면 오른쪽 상단에 있는 잠금을 클릭하여 다시 잠그면 보관이 가능하고 작동합니다.

"Derived Data"를 삭제하는 것이 효과적이었습니다.

Xcode에서 File > Workspace Settings > Derived Data 파일 경로 옆 화살표 클릭 > Derived Data 폴더를 휴지통으로 이동합니다.

셸 스크립트를 실행 중인데 특정 파일을 찾을 수 없는 것 같습니다.를 보다Target -> Build-Phases -> RunScript스크립트를 실행하는 경우.

빌드 출력(탐색기 패널)에서 스크립트가 실행 중인지 확인할 수 있습니다.스크립트가 잘못되면 빌드 단계가 중지됩니다.

같은 문제로 수정했습니다.Xcode 6.4의 문제를 해결하려면 다음 단계를 수행합니다.

  1. 네비게이터 창에서 프로젝트 네비게이터 표시를 누릅니다.
  2. Now 탐색기 창 바로 아래 프로젝트 선택
  3. 대상 선택
  4. Build Phases(Build Phases)
  5. 스크립트 실행 열기 드롭다운 옵션
  6. 설치할 때만 스크립트 실행 확인란을 선택합니다.

Screenshot for steps

이제 프로젝트(cmd+shift+k)를 정리하고 프로젝트를 구축합니다.

빌드 폴더(Cmd + Shift + Alt + K)를 청소하는 것이 효과적이었습니다.

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

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

그리고 라이브러리가 시뮬레이터와 호환되지 않을 수도 있는데, ( 시뮬레이터가 아닌) iDevice용으로 컴파일을 시도해보셨나요?

(저는 이미 두 번째 문제와 싸웠습니다. 시뮬레이터로 작동하지 않는 라이브러리를 얻었지만 실제 장치로 컴파일했습니다.)

제 경우에는 경로에 공간이 있어서 대본에 실패하고 있었습니다. 를 하는 등의 변수를 사용하는 경우$PROJECT_DIR아니면$TARGET_BUILD_DIR런음다다m 를 교체합니다."$PROJECT_DIR"아니면"$TARGET_BUILD_DIR"각각 다음과 같다.따옴표를 추가한 후 스크립트가 성공적으로 실행되었습니다.

저는 자격증이 만료되었습니다.저는 새로운 인증서를 만들었습니다.

나는 위의 모든 것을 했고 그 문제에 한 시간을 보냈습니다.

Xcode를 다시 시작할 뿐만 아니라 위의 모든 것을 시도했습니다.

드디어 컴퓨터를 다시 시작했고 모든것이 정상적으로 작동했습니다!

Xcode(7)를 재시작해 보았지만 아무 것도 하지 않았습니다(를 위해 iOS 개발의 전원을 껐다가 다시 켜보셨나요 :-).그리고 나서 내 상자를 다시 시작해 보았는데 효과가 있었습니다.

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

저는 소스 트리에서 코드를 꺼내면서 버전 번호를 1에서 1.0으로, 빌드 번호를 6에서 1.1로 변경했기 때문에 이러한 오류가 발생했습니다.방금 다시 변경해서 빌드 번호를 6번에서 7번으로 변경했는데 잘 되었습니다.

스크립트를 파일에 넣고 명령줄 끝에 2>/dev/dev로 파일을 실행하기만 하면 됩니다!

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

제 경우에는 연결된 아이폰에서 이전에 복사한 앱을 제거하는 명령만 실행하고 있었기 때문에 아이폰이 없으면 오류가 발생할 수 있습니다.해결 방법:

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

나에겐 유일하게 효과가 있었습니다.

1) CleanMyMac으로 파생 데이터 삭제: 시스템 정크 -> Xcode 정크 -> Xcode 파생 데이터

CleanMyMac으로 파생 데이터 삭제

2) 그러면 Xcode에서 : 제품 -> Clean

내가 하지 못했던 일들마지막으로 무엇을 했는지 나열하겠습니다.

첫째, Run script only installing 시에만 허용된 답변이 작동하지 않았습니다.

파생된 데이터를 삭제하지 못했습니다.

작동한 내용:

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

  2. 새 파일 복사 단계

  3. 선택한 프레임워크를 드롭 대상으로 드래그 앤 드롭

  4. 'Destination'을 Frameworks

Kevin Le의 미디엄 포스트로 인한 크레딧

예를 들어 코코포드를 사용하여 이 옵션의 선택을 취소하지 않으려는 사람의 경우 인증서/키에 문제가 있을 수 있습니다.

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

만약 이것이 작동하지 않는다면 열쇠고리의 잠금을 해제해보세요.

다른 옵션으로 특정 앱 대신 모든 응용 프로그램이 이 항목에 액세스하거나 인증서/키를 다음으로 이동하도록 허용을 선택할 수 있습니다.System해당 Mac의 모든 사용자 계정 간에 공유되는 키체인

또한 인증서가 만료되지 않았는지 확인합니다.

1) 옵션:

2) 옵션 : 포드 업데이트, 데이터 클린 파생,

저 같은 경우에는 대본 중 하나가 (관련된)SwiftGen컴파일하는 동안 오류가 발생했습니다.

저는 문제를 해결했습니다.Pods다시 업데이트하는 방법이 필요합니다.

  1. 아래에서 문제가 있는 포드를 탈거합니다.Pods디렉토리 또는 사용pod deintegrate
  2. 다음을 사용하여 포드 설치/업데이트pod install아니면pod update

추신. 의존성이 글로벌이고 포드에 있지 않을 수도 있습니다.이 경우 해당 종속성을 다시 설치해 볼 수도 있습니다.

크래시리틱스를 사용하고 이 문제가 있다면 이 글을 읽어보세요.

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

첫 번째 솔루션(설치 시에만 실행 스크립트를 활성화)을 사용하면 시뮬레이터에서 대상을 구축할 수 있었지만 빌드를 아카이브할 수 없었습니다.

파이어베이스에서 크래쉬리틱스를 활성화하여 아카이브 문제를 해결했습니다.저는 크래쉬리틱스가 자동으로 활성화되는 패브릭에 아직 익숙합니다.파이어베이스 콘솔에서 해당 GoogleService-Info.plist에 대해 Crashlytics를 활성화하면 이 오류 없이 보관할 수 있었습니다.

모든 포드를 제거하고 다시 설치합니다.

단계:

  1. 모든 포드에 댓글을 달고 실행합니다.pod install
  2. 모든 포드의 커멘트를 제거하고 실행합니다.pod install

언급URL : https://stackoverflow.com/questions/13006464/how-to-fix-the-issue-command-bin-sh-failed-with-exit-code-1-in-iphone

반응형