결함 #13949
[통합결재] BOSS 반송 시 앱 크래시 발생 건(iOS)
시작시간:
2025-09-30
완료기한:
진척도:
90%
추정시간:
버전:
앱버전:
디바이스:
MO_APP_iOS
요청자:
OS버전:
심각도:
치명적 결함(Critical)
설명
[문제점]
: 통합결재(개발) 앱 > BOSS > 미결함 > 문서 상세화면 > (우측 상단) 결재선 화면 진입 후 back > 반송 클릭 > 반송 클릭 > 반송의견 입력 후 반송 클릭 시 앱 크래시 발생. (iOS)
[개선점]
: AOS와 동일하게, 반송 정상 진행. 앱이 크래시 되면 안됨.
[테스트 계정]
: yong79 / 추가 테스트 데이터 필요 시 요청바랍니다.
이력
#3 조정후이(가) 5일 전에 변경
- 상태을(를) 진행에서 해결(으)로 변경되었습니다.
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
테스트 진행
개발에서 7회 동일 상황 테스트 진행. BOSS > 미결함 > 상세 > 결재선 버튼 선택 > 결재선 화면에서 우측 스와이프 > 상세화면에서 반송 > 반송의견 입력후 반송
재현안됨.크래쉬로그 분석
DetailViewController.swift - 593번째 줄
DetailViewController.hasNextApproval(lastId:) + 593
비정상 종료: com.apple.main-thread
EXC_BREAKPOINT 0x0000000100b996c4
해당 코드는 아래와 같습니다.
guard let contentIndex = contents.firstIndex(where: { $0.id == lastId }) else { return false } var temp : [Content] = self.tempContents temp.remove(at: contentIndex) <= 찾은 index 기반으로 삭제 시도 시 문제 발생 self.tempContents = temp
삭제시 index 기반이 아닌 id 기반으로 안전하게 지워지도록 변경합니다.
self.tempContents.removeAll { $0.id == lastId }
추후 self.tempContents가 갱신이 안되는 근본적인 상황에 대해 관찰해 볼 필요가 있습니다.