Emmm.....
iOS 13 업데이트 이후 Fabric에 아래 에러가 늘어나기 시작했다.
Fatal Exception: NSInternalInconsistencyException
Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.
대충 Background Thread에서 Layout engine을 수정하면 안 된다는 의미인데,
자신의 코드를 보고 Main Thread 가 아닌 곳에서 UI 를 수정하고 있는 곳이 있는지를 보면 된다.
또한 그나마 다행으로 XCode 에서 Runtime Issue 를 표기해주는데
확인하는 방법은 Runtime Issue 이기 때문에 App을 실행을 한번 해주면,
그림 1처럼 문제가 되는 부분들이 표시된다.
그럼 해당 이슈를 클릭하여 따라 들어가서
문제가 되는 부분을
DispatchQueue.main.async { }
DispatchQueue.main.sync { }
등으로 상황에 맞게
코드를 감싸주면 된다.
주의할 점은 여기에 표시되는 이슈를
그대로 따라 들어가서
예를 들어 test.swift 파일에 221번째 라인이 에러라고 해서
그 부분만 문제가 되는 것이 아니라,
해당 코드와 관련된 스택안의 내용들이 문제 일 수 있기 때문에,
테스트를 해봐야 한다.
RuntimeIssue 경고는 문제가 되는 부분을
DispatchQueue.main.async { } 와 같이
메인 스레드로만 감싸주면 경고가 없어지긴 하지만,
경고만 없어질뿐 Error는 계속 발생할 가능성이 있다.
'공부방 > iOS' 카테고리의 다른 글
How to init Pod When Xcode Pod File Error (Pod 파일 에러시 팟 초기화 방법) (0) | 2019.11.14 |
---|---|
XCode ERROR ITMS-90534: Invalid Toolchain (15) | 2019.11.07 |
iOS 13.2 which may not be supported by this version of Xcode (0) | 2019.10.31 |
How to control href in iOS WKWebView (iOS WKWebView href 조작 하는법) (0) | 2019.10.29 |
iOS WKWebView dynamic height (iOS WKWebView 동적 높이) (0) | 2019.10.29 |
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!