본문 바로가기

iOS/이슈30

[iOS Issue] Multi thread 환경에서 Dangling Pointer Crash 이슈 앱의 Logging을 담당하는 모듈에서 multi thread 환경에서 동작 시 잦은 Crash가 발생하는 이슈가 생겼다. 결론만 말하자면 원인은 Singletone 클래스에 있는 Thread-safety 처리가 되어있지 않은 stored property에 여러 스레드가 동시에 setter에 접근을 하면서 Dangling pointer 크래시가 발생했다. 이슈 상황은 크게 2가지 였다. Unknown Object Release 이 경우는 Setter가 여러 스레드에서 동시에 불리면서 이미 Retain Count가 0임에도 불구하고 추가로 Release를 시도하면서 생기는 크래시였다. 다음과 같은 상황으로 보면 될 것 같다.stored property에 이미 instance가 존재하는 중 (retain c.. 2024. 5. 5.
[iOS Issue] command codesign failed with a nonzero exit code 동일한 팀의 인증서 2개가 키체인에 동시에 존재하는 경우, Xcode에서 어떤 인증서를 써야할지 몰라서 빌드 시 생기는 이슈 키체인에서 Apple Development 인증서를 전부 삭제 Xcode -> Setting -> Account에서 변경을 원하는 Team 계정을 더블 클릭 왼쪽 하단의 '+' 를 눌러서 Apple Development 인증서를 새로 생성한다. (3-1 스크린샷 참조) 맥북 키체인에 접속해보면 새로운 인증서가 생성되었을 건데, 중요한건 '항상 신뢰'로 바꾸면 안되고 '시스템 초기 설정 사용'으로 놔두어야 한다. Xcode 완전 종료 후 새로 실행하고 Project파일의 Signing Certificate에 보면 Updating provisioning profile이라고 뜨는데 업데.. 2024. 3. 17.
[iOS Issue] Shadow 관련 run time issue How to fix "Optimization Opportunities" I'm using xcode 12. I wrote extension UI View as below: @IBInspectable public var shadowRadius: CGFloat { get { return layer.shadowRadius } set { layer.shadowRadius = ne... stackoverflow.com UIView에 shadow를 입히고 UITableView에서 scroll 가능한 상태로 두면, runtime issue로 다음과 같은 warning이 뜨게 된다. UIView를 rendering할 때 shadow효과는 굉장히 expensive한 작업이고, scroll을 하게 되면 이동할 때마다 sh.. 2023. 1. 7.
[iOS Issue] iOS12에서 Constraint의 priority 사용 시 크래시 발생 How can I change constraints priority in run time I have a view which has dynamic height and I am trying to change this view height priority in run time. Here is my part of code; if (index == 0) { surveyViewHeightConstraint.constant = 0; stackoverflow.com Apple Developer Documentation developer.apple.com constraint의 priority 설정 시에 iOS12에서 priority를 1000으로 설정할 경우 크래시가 발생한다는 내용이다. deleteButtonTop... 2022. 8. 17.