[TIL] 트러블슈팅

Eden·2024년 12월 16일
3

TIL

목록 보기
72/92
post-thumbnail

1. Missing argument for parameter 'coder' in call

이 에러는 Swift에서 함수나 메서드를 호출할 때 요구되는 파라미터를 전달하지 않았을 때 발생한다.

원인:

  • 호출하려는 함수 또는 메서드가 coder라는 파라미터를 필요로 하지만 이를 전달하지 않았다.
  • 예를 들어, UIViewController를 storyboard에서 초기화하는 경우 required init?(coder:)가 필요하다.

해결 방법:

  • 해당 함수가 required로 선언된 경우 반드시 구현하거나 올바르게 호출해야 한다.
required init?(coder: NSCoder) {
    super.init(coder: coder)
    // 추가 설정 코드
}
  • 만약 직접 초기화하려는 경우 init(coder:)에 적절한 NSCoder 객체를 전달해야 한다.
let coder = NSCoder()
let viewController = MyViewController(coder: coder)

2. fatal: Not possible to fast-forward, aborting.

이 에러는 Git에서 fast-forward 방식으로 병합이 불가능할 때 발생한다.

원인:

  • 병합 대상 브랜치와 현재 브랜치 간 충돌이 있거나 fast-forward 병합이 불가능한 상태이다.
  • 예를 들어, 병합 대상 브랜치에 이미 커밋이 추가된 경우 이런 문제가 발생할 수 있다.

해결 방법:

  1. 충돌 해결:

    git merge <branch_name>

    충돌을 확인하고 수정한 후 커밋한다.

    git add .
    git commit
  2. --no-ff 플래그 사용:
    fast-forward 병합을 강제로 비활성화한다.

    git merge --no-ff <branch_name>
  3. 리베이스 사용:
    리베이스로 해결할 수도 있다.

    git rebase <branch_name>
  4. 강제로 푸시:
    원격 브랜치를 덮어씌우려면 강제 푸시를 사용한다 (주의 필요).

    git push --force

3. .xuserstate.gitignore에 추가되지 않음

.gitignore 파일에 추가했음에도 .xuserstate가 무시되지 않는 상황은 캐시된 상태 때문일 가능성이 높다.

해결 방법:

  1. .gitignore에 항목 추가
    .gitignore 파일에 다음을 추가했는지 확인한다.

    *.xuserstate
  2. Git 캐시에서 파일 제거
    이미 Git에 추적 중인 파일은 .gitignore로 무시되지 않는다. 해당 파일을 Git의 추적 목록에서 제거한다.

    git rm --cached *.xuserstate
  3. 변경 사항 커밋
    캐시 제거 후 .gitignore가 적용되었는지 확인한 다음 커밋한다.

    git add .gitignore
    git commit -m "chore: .xuserstate to .gitignore"
  4. .gitignore 테스트
    다음 명령으로 .gitignore가 올바르게 적용되었는지 확인한다.

    git check-ignore -v *.xuserstate
profile
Frontend🌐 and iOS

3개의 댓글

comment-user-thumbnail
2024년 12월 17일

앞으로 모르면 들어와서 이 게시글부터 봐야지 ..

1개의 답글
comment-user-thumbnail
2024년 12월 17일

에러 수집 금지!!

답글 달기