error 20

[iOS / Kingfisher / Error] failed: Processing image failed. Processor: DownsamplingImageProcessor(size: (0.0, 0.0) .. 에러 해결

Kingfisher를 이용해서 이미지를 가져올 때, 로딩이 되지 않는 이미지가 발생하면서 위와 같은 에러가 발생했습니다. 찾아보니 Processor에게 타당한 imageView.bounds.size를 전달하지 않아 발생한 에러입니다. Controller에서 cell을 생성하고 셀의 UI를 세팅하고 셀 내부 뷰의 프로퍼티를 업데이트하는 방식으로 구현했습니다. cell 내부 코드에서는 cell이 생성되기 전이기 때문에 cell의 크기를 0으로 인식해서 발생한 에러입니다. 기존에는 cell에서 정의한 ImageView의 크기에 맞게 설정한 것에서 매개변수에 직접 값을 설정하는 방식으로 바꾸니 에러가 해결됐습니다. ※ 참고 출처 Kingfisher/issues DownsamplingImageProcessor i..

Error 2022.01.25

[iOS / CocoaPods / Error] CocoaPods could not find compatible versions ... 에러 해결

CocoaPods를 이용해서 Kingfisher를 설치하다가 위와 같은 에러가 발생했습니다. 왠지 Mac Air라서 생긴 에러인 것 같아서 찾아보니 역시나 M1 칩으로 생긴 오류였습니다. 해당 에러를 해결해보겠습니다. 터미널에서 해당 프로젝트 경로로 가서 다음의 명령문을 순서대로 입력 sudo arch -x86_64 gem install ffi arch -x86_64 pod install 그래도 안 된다면 arch -x86_64 pod install --repo-update ※ 참고 출처 stackoverflow Cocoapods subspec issue: None of your spec sources contain a spec satisfying the dependency I modified a rep..

Error 2022.01.18

[iOS / Error] Main Thread Checker: UI API called on a background thread 에러 해결

API를 통해 가져온 데이터로 UI를 업데이트할 때 DispatchQueue.global().async 를 사용했더니 위와 같은 에러가 발생했습니다. 찾아보니, UI 업데이트와 관련된 작업은 main thread에서 실행해야 하는데 background thread에서 실행해서 발생한 에러입니다. Xcode에서 제공하는 runtime tools 중 Main Thread Checker가 있는데 이 tool은 기본 스레드에서 실행해야 하는 시스템 API가 실제로 해당 스레드에서 실행되는지 확인합니다. AppKit 및 UIKit UI API에 적용되며, 일부 다른 시스템 API에도 적용됩니다. 기본 스레드에서 이러한 API를 호출하면 관련 작업의 실행을 직렬화하여 경합 조건을 방지할 수 있습니다. 이는 시각적 ..

Error 2022.01.18

[Git / Error] git pull 에러 해결

문제 1. "Please, commit your changes or stash them before you can merge." 해당 문제는 로컬 저장소와 원격 저장소의 충돌에 의해 생기는 에러입니다. 이 상황에서 commit 또는 stash를 하라고 주문하는데, 커밋하기에는 애매한 상황이 생각보다 많습니다. 그래서 변경사항을 임시 저장하고 pull 후, 임시 저장했던 파일을 병합하는 방식으로 해결해보겠습니다. // 변경 사항 임시 저장 후 git pull git stash git pull // 임시 저장 인덱스 merge git stash list git stash apply stash@\{0\} git stash apply --index * tip: git stash apply 까지 작성하고 tap ..

Git 2021.11.24

[Git / Mac / Xcode] "xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun" 에러 해결

위와 같은 에러가 발생했습니다. 찾아보니 맥을 업데이트하고 난 후 발생하는 Xcode CLI 관련 이슈라고 합니다. 에러를 해결해보겠습니다. [Step 1] terminal에 다음의 명령어를 입력 xcode-select --install [Step 2] 소프트웨어 설치 ※ 참고 출처 hahwul Mac 업그레이드 후 개발 관련 도구 에러(xcrun: error: invalid active developer path) 해결방법(xcode-select --ins 최근에 모하비에서 카탈리나로 업그레이드 했습니다. 매번 업데이트 때마다 여러 문제가 발생하는데, 이번에도 어김없이 xcode cli 관련 이슈가 또 터지네요.. 매번 명령어 때문에 검색하기도 귀 www.hahwul.com

Git 2021.11.16

[iOS / Error] Expected to decode Double but found a string/data instead 에러 해결

서버와의 통신을 통해서 데이터를 디코딩할 때 해당 에러가 발생했습니다. 찾아보니 Date 타입을 디코딩할 때 생기는 에러였습니다. 해당 에러를 해결해보겠습니다. 간단한 예시로 설명하겠습니다. struct MovieData: Codable { var movie: [Movie] } struct Movie: Codable { var typeNumber: Int var startTime: Date var type: String var name: String } var json = """ { "movie": [ { "typeNumber": 1, "startTime": "2021-11-01T14:00:00Z", "type": "해외", "name": "듄" }, { "typeNumber" : 2, "startTim..

Error 2021.11.01

[iOS / Error] Expected to decode Array<Any> but found a dictionary instead 에러 해결

API를 연동해서 데이터를 가져올 때, 데이터를 디코딩할 때 해당 에러가 발생했습니다. 찾아보니 데이터가 Dictionary 타입인데 Array 타입으로 디코딩할 때 생기는 문제였습니다. 해당 에러를 해결해보겠습니다. 간단한 예시로 설명하겠습니다. struct MovieData: Codable { var movie: [Movie] } struct Movie: Codable { var typeNumber: Int var type: String var name: String } var json = """ { "movie": [ { "typeNumber": 1, "type": "해외", "name": "듄" }, { "typeNumber" : 2, "type" : "국내", "name" : "보이스" } ] ..

Error 2021.11.01

[Git] There was a problem with the editor 'vi' 에러 해결

git commit을 진행하다가 다음과 같은 에러가 발생했습니다. 해당 문제가 종종 발생하곤 했었는데, 커밋 메시지를 모두 작성하고 메시지 작성 창을 나갈 때 보통 ':wq!'로 종료합니다. 하지만 이 이외에 허용되지 않는 키워드를 입력하고 종료하면 위와 같은 에러가 발생할 수 있습니다. ex) :q 찾아보니 vi editor 버그라고 합니다. 해당 에러를 해결해보겠습니다. [Step 1] commit 된 파일 확인하기 git commit --amend 이전에 커밋했던 내역을 확인할 수 있습니다. [Step 2] terminal에 해당 명령어 입력 git config --global core.editor /usr/bin/vim [Step 3] 커밋 메시지 수정 git commit --amend 수정 후,..

Git 2021.10.14

[Git] You have not concluded your merge 에러 해결

브랜치의 커밋 메시지를 수정하고 푸시했을 때 해당 에러가 발생했습니다. 그리고 pull을 하고 push를 하려고 하니 다음의 에러가 발생했습니다. 해당 에러를 찾아보니 pull을 진행하면서 merge 하는 과정에서 충돌이 발생한 것으로 확인됐습니다. 아마도 로컬에서 Commit을 남긴 상태에서 push 하지 않고 pull 후, push를 해서 생긴 에러인 것 같습니다. 해당 에러를 해결해보겠습니다. [Step 1] merge 취소 git merge --abort [Step 2] 충돌한 부분 수정 [Step 3] commit + pull git commit -m "메시지 내용" git pull [원격저장소명] [브랜치명] ex) git commit -m "파일 내용 수정" git pull origin fe..

Git 2021.09.06

[iOS / Error] Unable to load contents of file list... 에러 해결

이전 포스터에서 문제를 해결하다가 새로운 에러에 봉착했습니다. 해당 문제는 Xcode 10.2에서 디폴트로 사용되는 새로운 빌드 프로세스와 관련된 에러입니다. 해당 에러를 해결해보겠습니다. [Step 1] terminal에서 pod 파일을 포함하고 있는 경로로 이동해서 다음의 코드를 입력합니다. sudo gem update cocoapods --pre pod update [Step 2] Product -> Clean Build Folder 후 빌드 ※ 참고 출처 stackoverflow Xcode 10.2 Update issue Build system error -1: Unable to load contents of file list: input/output xcfilelist After upgradin..

Error 2021.08.19