dyld`__abort_with_payload : 오류 메시지 없음


85

XCode로 앱을 시작할 때 충돌이 발생하지만 오류가 없습니다.

이 스레드에서 앱이 중지됩니다.

여기에 이미지 설명 입력

문제에 대한 추가 정보를 얻으려면 어떻게해야합니까?

답변:


107

사용자 정의 프레임 워크를 사용하는 경우 Target / General 탭 아래의 Xcode 프로젝트에있는 "Embedded Binaries"섹션에 넣어야합니다.


1
사용자 정의 프레임 워크가 있고 Xcode 프로젝트의 Target> General 아래에있는 "Embedded Binaries"아래에 나열됩니다. 단위 테스트를 실행하려고 할 때 여전히이 문제가 발생합니다. 최근에 내 코드의 Swift 부분을 Swift 3 (2에서)으로 업그레이드했습니다. 그 도움이된다면 ...
마리오 구즈

@MarioAGuzman 어떻게 고쳤습니까? 또한 스위프트 3 마이그레이션 이후의 문제에 직면
아이폰 OS

@iOS 불행히도 나는 실제 수정이 없었습니다. 이 문제는 방금 출시 된 Xcode 8.3에서 저절로 해결되었습니다.
Mario A Guzman

왜 이것이 임베디드 바이너리 섹션에 있어야합니까? ObjectiveDropboxOfficial.framework를 사용하려고합니다. 이 오류가 발생하여 Embedded에 넣고 '수정'했습니다. 그러나 나는 그것을 다시 꺼내고 '고정'된 채로 남아 있습니다. 동일한 AFAICT로 구성된 다른 대상은 실패합니다. 보관 용 설치 문서에는 임베디드 프레임 워크를 넣으라는 내용이 없습니다.
Jim Leask

도움이되었습니다. 또한 "Linked Frameworks and Libraries"에 중복 항목이 없는지 확인하십시오. 포함 된 섹션에 추가하면 자동으로 연결된 섹션에 추가됩니다.
milesmeow

59

나를 위해 간단 Clean하고 Rebuild분류했습니다. 도움이 되었기를 바랍니다.


81
정리, 빌드 폴더 정리, 파생 데이터 폴더의 내용 삭제, 포드 설치 (해당되는 경우), Xcode 다시 시작, 컴퓨터 다시 시작; 다음 좋은 측정을 위해 문에 일부 어린 양의 피를 바르고
johnnyclem

1
저도 도왔습니다 !!
Dmitriy Greh

디렉토리를 삭제하고 git에서 마지막 커밋을 얻는 것은 도움이되지 않았지만 정리하고 다시 빌드하는 것이 도움이되었습니다. lol
え る ま る

8
제 경우에는 문틀에 칠리와 레몬을 묶어야했습니다.
Naresh

1
나도 맏아들을 희생해야했지만 효과가 있었다!
Andor Németh

25

여기에 이미지 설명 입력이 문제는 시스템을 macOS 10.15.2 베타로 업데이트 한 후에 나타났습니다. "Thread Sanitizer"를 비활성화하면 문제가 해결되었습니다 (Xcode 11.2). 이제 Thread Sanitizer를 사용할 수 없으며 다음 OS 업데이트를 기다려야합니다.


6
이 게시물은 Mac 10.15.2로 업그레이드 한 후 Xcode 11.3 시뮬레이터에서 문제가 발생했을 때의 원래 질문에 대한 답변입니다. 그것은 애플 버그를 보인다 참조 forums.developer.apple.com/thread/126891
바딤 Motorine

19

임베디드 바이너리 자산 목록에 프레임 워크를 추가하면이 문제가 해결되었습니다. 다음은 임베디드 프레임 워크 (Xcode 9.2, 개인적으로 시각적 빵 부스러기 트레일이 더 좋습니다 ;-))로서 Xcode GUI의 최종 형태에서 외부 프레임 워크의 설정이 어떻게 보이는지입니다. 여기에 이미지 설명 입력

Apple이 의도적으로 런타임을 중단하여 개발자에게 비 Apple 프레임 워크를 iOS 개발에서 단순히 연결된 프레임 워크로 사용할 수 없다는 문제를 알려 주었습니까? "이동해!"라는 버튼이있는 빌드 오류로 표시되는 것이 좋습니다.

임베디드 바이너리를 사용하면 최종 사용자가 앱과 독립적으로 프레임 워크를 추가하거나 설치 프로그램을 사용하지 않아도됩니다. 아이폰 (iOS)의 경우 불가능하지만 macOS에서는 가능하지만 빠르게 지저분해질 수 있습니다.

최종 사용자에게는 앱을 드래그 앤 드롭하여 macOS에 설치하는 것이 훨씬 더 좋습니다. 임베딩은 또한 관리 할 프레임 워크의 외부 버전을 갖는 고전적인 "DLL 충돌"을 방지합니다. (디스크 공간이 저렴하고 고객의 시간이 소중합니다).


작은 업데이트. 이제 Xcode 10.1을 사용하면 "Link Binary With Libraries"섹션에서 필요한 "Copy Bundle Resources"섹션으로 사용자 정의 프레임 워크를 드래그 할 수 있습니다. 더 이상 참조 만 복사하지 않습니다. 하지만 움직입니다. 여기 스크린 샷 : stackoverflow.com/questions/24993752/…
William Cerniuk

13

방금 프로젝트에서 오류를 수정했습니다!
Object-C 프로젝트에서 신속한 프레임 워크를 사용하는 경우 빌드 설정을 변경하는 것이 좋습니다.
항상 Swift Standard Libraries 옵션을 YES로 포함합니다. 이렇게 :여기에 이미지 설명 입력

이것이 당신에게 도움이 되었기를 바랍니다.


이것은 내 프로젝트에 (분명히) 빠른 코드가 없더라도 나를 위해 일했습니다.
Jim75

XCode는 다시 No로 값이 바뀌었고 잊어 버렸습니다. 감사합니다 :)
SeikoTheWiz

13

마침내 해결되었습니다!

나를 위해 일한 것은 프레임 워크를 "필수"대신 "옵션"으로 만드는 것이 었습니다.

도움이 되었기를 바랍니다.


슈퍼맨, 나는이 문제로 1,5 일 싸웠다. 심지어이 좋은 매트릭스 발견 twitter.com/isupportmatrix 도 내 옆에 해결 요구로 변경을
swift2geek

또한 파일-> 프로젝트 설정-> 레거시 빌드 시스템의 설정에서만 작동했습니다.
swift2geek

10

엑스 코드 11.1의 전원을 끄고 Do not Embed, Embed & Sign좋은 옵션입니다.

0

222

감사합니다 @mkonovalov, @William Cerniuk


1
나를 위해 일했습니다. +1
abhimuralidharan

1
이 단계에서는 앱에 사용자 지정 프레임 워크를 포함하려고합니다.
Akash Bhardwaj

6

1) 실행을 계속하여 "MyFramework.framework"를 찾을 수 없다는 메시지가 디버거에 표시되는지 확인합니다. 이 경우 다음 토론을 따르십시오. OS X 프레임 워크 라이브러리가로드되지 않음 : '이미지를 찾을 수 없음' 이 답변이 작동했습니다. https://stackoverflow.com/a/44796734/4060763

2) "Embed Binaries"섹션을 통해 바이너리를 추가했는지 확인하십시오.

3) 빌드 단계 섹션에서 프레임 워크 서명을 활성화했는지 확인합니다.

4) 임베디드 프레임 워크가 심볼릭 링크가 아닌지 확인하십시오.

5) "라이브러리와 바이너리 연결"단계에서 필수 대신 연결된 프레임 워크를 선택적으로 만들 수 있습니다. 이렇게하면 iOS가 출시 중에 이러한 프레임 워크를 찾지 않도록 지시합니다. 그러나 어쨌든 이러한 프레임 워크를 사용하려면 오류를 수정해야합니다!

6) 모든 info.plist 항목이 양호한 지 확인합니다. 제 경우에는 iOS 용 Mac info.plist 파일을 사용하고있었습니다. iOS 프로젝트에없는 xib 파일을 찾고있었습니다.

7) 그러한 변경 후 청소하고 구축하십시오. 이것은 xcode가 이미 존재하는 경우 이러한 파일을 복사 / 변경하지 않기 때문에 필요합니다.

8) iPad에서 앱을 제거한 다음 설치합니다. 7과 같은 이유.


6

진단 프로그램에서 "Guard Malloc"을 선택 취소하면 저에게 효과적이었습니다. 설정은 이미지 참조


2
Guard Malloc, 정확합니다. 왜 그것이 충돌을 해결하는지 아는 사람이 있습니까?
Mojo66

1
프로젝트 정리를 시도한 다음 다시 실행하거나 Xcode를 다시 시작할 수도 있습니다. 오류의 이러한 종류의 단지 성가신 및 종류의 엑스 코드의 버그 등입니다
카란 비어 싱

5

"문제에 대한 추가 정보를 얻으려면 어떻게해야합니까?"라는 원래 질문에 답하기 위해이 Apple 포럼 스레드 는 매우 간단한 팁을 제공합니다. XCode 외부에서 충돌하는 앱을 실행하기 만하면됩니다 (예 : XCode에서 중지 한 다음 수동으로 실행). 장치). 이렇게하면 발생한 상황에 대한 자세한 내용이 포함 된 충돌 로그가 생성됩니다. 그런 다음 XCode 창 메뉴 / 장치 및 시뮬레이터-> 장치 로그보기에서이 로그를 검토 할 수 있습니다.


4

info.plist에 "Privacy-Camera Usage Description"을 적용하지 못했습니다.

이 정보가 다른 사람에게 도움이되는지 모르겠습니다 ...



3

동일한 서명 (내 프로젝트가 Obj-C에 있음)에 오류가 발생하여 적절한 프레임 워크와 연결하는 것을 잊었다는 것을 발견했습니다. 오류를 발견 한 디버그 로그의 오류 메시지는 다음과 같습니다.

dyld : 기호를 찾을 수 없음 : _OBJC_CLASS _ $ _ SFSafariViewController

내 특정 오류의 경우 대상-> 빌드 단계-> "바이너리와 라이브러리 연결"에 SafariServices.framework를 추가하면 문제가 해결되었습니다. 특정 오류와 해결 방법이 같지는 않지만 디버그 로그에서 단서를 확인하는 것이 유용합니다.


2

나는 갱신 한 후이 상황 했어 v10.2.1에 엑스 코드5.0에 신속을 당신이 카르타고 + RxSwift에게 새로운 RxSwift의 사용을 사용하는 경우 RxRelay.framework. / Carthage / Build 디렉토리로 이동하여 해당 프레임 워크를 찾아 프로젝트에 적용합니다. carthage copy-frameworks스크립트 에도 추가하는 것을 잊지 마십시오 . $(SRCROOT)/Carthage/Build/iOS/RxRelay.framework

https://stackoverflow.com/a/52550148/2493555 덕분에 해결되었습니다.


1

Objective-C 애플리케이션에서 Swift로 작성된 프레임 워크를 사용하는 경우 프레임 워크를 사용하는 앱에 Swift 도구 체인을 포함해야합니다.

이 작업을 수행하는 방법은 XCode가 신속하게 인식하고 프로젝트에 적절하게 추가 할 수 있도록 앱에서 더미 신속 파일을 만드는 것입니다. 그런 다음 더미 파일을 삭제할 수 있습니다.

누군가가 신속한 파일을 추가하지 않고 Objective-C 프로젝트에 명시 적으로 신속을 추가하는 더 나은 방법을 알고 있다면 좋겠습니다.


1

Carthage 빌드 프레임 워크를 사용하는 경우 프레임 워크를 프로젝트로 드래그 한 후 General / Embeded Binaries에 추가해야합니다.


1

나는 그것을 해결할 올바른 방법을 찾습니다.

AppleWWDRCA.cer시스템 기본 모드로 설정되어 있는지 확인 하면 작동합니다.

여기에 이미지 설명 입력


나를 위해 일했습니다.
dev_shanghai

1

나는 같은 문제에 직면했다. 내 대상의 빌드 설정에서 'Always Embed Swift Standard Libraries'를 예로 설정하면 효과적이었습니다.


1

plist에서 권한 사양이 누락되어 해결 된 유사한 문제가있었습니다 (이상하게 ..)

AVCaptureDevice를 사용하려고했는데 시작시 충돌이 발생했습니다 (내 앱은 매우 적음).

추가- 나를 Privacy - Camera Usage Description 위해 info.plist해결했습니다.


1

이 오류가 발생하는 긴 목록에 추가하려면 배포 대상이 MacOS 11.0으로 설정된 MacOS 10.15.5를 실행하는 Mac에 XCode12.2 베타 2를 배포 할 때 발생합니다. 이 상황 은 사이드 바를 추가 할 때 Mac Catalyst Tutorial 앱 을 시도했기 때문에 발생했습니다 . 대상을 MacOS 10.15.5로 전환하면 오류가 제거되고 앱이 제대로 실행되었습니다.


0

내 프로젝트에서 내 오류를 수정했습니다.
1. 오류 발생시 다른 스레드를 확인하십시오. 카메라에 대한 오류임을 발견했습니다.

여기에 이미지 설명 입력

  1. Info.plist 파일에 카메라 개인 정보를 추가합니다.
    1) info.plist 파일을 엽니 다.
    2) "개인 정보-카메라 사용 설명"이라는 새 키를 추가하고 앱에 카메라가 필요한 이유를 설명하는 문자열을 입력합니다. 설명은 앱에서 개인 정보를 사용해야 할 때 표시됩니다.

여기에 이미지 설명 입력


0

나는 방금 동일한 문제가 있었고 그 이유는 새로운 macOS Mojave 업데이트 후 개발자 인증서를 취소하고 Xcode 10으로 새 인증서를 생성했기 때문입니다 (일부는 모든 로그인 자격 증명을 삭제하고 일부는 오래된 키 체인 인증서).

그래서 내가해야 할 일은 내 장치에서 설치된 앱을 제거하고 Xcode를 통해 다시 실행하여 내 장치에 올바른 새 프로비저닝 프로파일을 설치하는 것입니다. :)


0

때로는 대상 버전의 이후 iOS 버전에서만 액세스 할 수있는 시스템 프레임 워크를 사용할 때 발생합니다. 이 링크 된 프레임 워크를 선택 사항으로 표시하여 수정할 수 있습니다.

예를 들어 iOS 11을 대상으로 하고 iOS 12 용 AuthenticationServices 자동 완성 기능을 사용하는 프로젝트 는 설명 된 방식으로 iOS 11에서 충돌이 발생합니다.


0

실제로 11.3.1에 문제가 있었고 위에서 언급했듯이 Thread Sanitizer가 이미 꺼져 있습니다. 내 경우 문제는 내 응용 프로그램 폴더에 다른 xCode 버전이 있었어요.

/Applications/xcode11.3.1/Xcode.app
/Applications/xcode11.3/Xcode.app
/Applications/xcode10.1/Xcode.app

/Applications/Xcode.app - was 11.2

빌드 시스템이 기본적으로 /Applications/Xcode.app에서 보이는 것을 이해하는 데 2 ​​일이 걸립니다. 따라서 11.3.1을 /Applications/Xcode.app에 가져와 마침내 문제가 해결되었습니다.


0

또한 사용자 정의 프레임 워크를 사용하는 경우 Mach-O 유형을 정적 라이브러리로 설정해야합니다. IOS가 dylib를 허용하지 않는 곳을 읽었습니다. 어쨌든 이것은 나를 위해 일했습니다.


0

나에게도 같은 문제가 발생했습니다. iOS 14 베타를 사용 중이었고 공식 버전으로 업데이트했을 때 문제가 수정되었습니다.


-1

실제 장치 (iPhone SE)에서 실행할 때만이 문제가 발생했습니다. 시뮬레이터 프로젝트에서 예상대로 작동했습니다.

이 스레드와 여기에서 모든 수정을 시도했습니다. OS X 프레임 워크 라이브러리가로드되지 않음 : '이미지를 찾을 수 없음' 그들 중 어느 것도 나를 위해 일하지 않았습니다.

나에게 문제는 iPhone을 다시 시작한 후 해결되었습니다 (sic!).

나는했다 :

  • 깨끗한 빌드 폴더,
  • 파생 데이터 정리,
  • 기기에서 앱 삭제,
  • 장치 재부팅

그리고 마침내 작동합니다. :)

다른 모든 솔루션이 실패하면 시도하는 것을 잊지 마십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.