[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID

이건준·2024년 2월 10일
0

[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID

[UIKeyboardTaskQueue lockWhenReadyForMainThread] timeout waiting for task on queue

UITextField가 becomeResponder이후 한참을 Lock이 걸려있다가 풀리는 문제가 발생하였다.

처음엔 다양한 UIGesture가 존재하였기에 become 혹은 resign responder 시에 문제가 있을 것이라 생각하였지만 해결되지 못하였다.

해결방법

찾아보니 정말 많은 사람들이 나와 같은 문제를 겪고 있었는데 하나의 글을 읽고 해결할 수 있었다.
-> 해결 방법으로는 UITextField 혹은 UITextView가 become될때 올라는 키보드의 수정제안 시 발생하는 공통된 경고가 발생하였고 이를 없애줌으로써 해결해줄 수 있었다.


private let commentTextView = UITextView().then {
    $0.textColor = .hexD0D0D0
    $0.textContainerInset = UIEdgeInsets(
      top: 10,
      left: 10,
      bottom: 10,
      right: 10
    )
    $0.font = .regular14
    $0.backgroundColor = .hexF4F4F4
    $0.layer.masksToBounds = true
    $0.layer.cornerRadius = 8
    $0.layer.borderColor = UIColor.hexD0D0D0.cgColor
    $0.layer.borderWidth = 1
    $0.autocorrectionType = .no
    $0.spellCheckingType = .no
  }

사실 전까지만 하더라도 컴파일 혹은 런타임 에러를 제외한 이러한 노란 경고문은 무시하고 개발한 적이 많았는데 이런 사소한 부분까지도 해결해나가는 개발자가 됨을 알게 되었다.

0개의 댓글