Error 15

[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 / Xcode / Error] Failed to save Pods.xcodeproj 에러 해결

CocoaPods으로 Kingfisher를 설치하고 Xcode에서 다음과 같은 에러가 발생했습니다. 찾아보니 Project 파일이 Xcode에서 수정되지 않아 병합 충돌이 발생한 것입니다. 문제 해결을 위해 두 가지 해결책을 제시합니다. * Read Form Disk: 디스크에 저장된 변경사항을 기준으로 병합 * Keep Xcode Version: 현재 상태를 유지 ※ 참고 출처 stackoverflow Xcode error: "Failed to save .xcodeproj" I encountered an error message I have never seen before in Xcode. It is alerting me that it failed to save the project because it..

Error 2022.01.18

[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

[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

[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

[iOS / Error] Failed to render and update auto layout... 에러 해결

FSPagerView 오픈 소스 라이브러리를 사용하다가 다음과 같은 에러가 발생했습니다. 찾아보니 다음의 에러는 Cocopads의 버전 문제였습니다. 해당 에러를 해결해보겠습니다. 두 가지 방법이 있습니다. 첫 번째 방법으로 해결이 되면 넘어가고 첫 번째 방법이 안 된다면 두 번째 방법을 시도합니다. [Solution 1] podfile에 다음의 코드를 추가하기 # Workaround for Cocoapods issue #7606 post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_..

Error 2021.08.19

[iOS / CocoaPods / Error] Oh no, an error occurred 에러 해결

CocoaPods를 이용해서 오픈 소스 라이브러리를 설치하는 과정에서 terminal에서 pod init -> Podfile 수정 -> pod install 을 했을 때 위와 같은 에러가 발생했습니다. 찾아보니 해당 에러는 맥북 에어(M1칩)에서 발생하는 에러라고 합니다. 에러를 해결해보겠습니다. [Step 1] pod init -> sudo vi podfile 터미널에서 먼저 Podfile생성 후, sudo vi podfile을 통해서 해당 부분에 라이브러리를 포함시켜줍니다. 수정할 때는 'i' 클릭 완료 후에는 esc -> wq! [Step 2] 터미널에 다음 명령문을 순서대로 입력 sudo arch -x86_64 gem install ffi arch -x86_64 pod install 영어로 된 문..

Error 2021.08.09

[iOS / Error] whose view is not in the window hierarchy 경고 해결

Storyboard Segue를 이용해서 화면 전환을 구현하다가 다음과 같은 에러가 발생했습니다. 해석을 해보면 '윈도우 계층에 해당 뷰가 존재하지 않는다.'입니다. 해당 경고를 찾아보니 Storyboard Segue로 화면이 전환되고 있는 동안, 소스 코드에서 동시에 화면 전환이 실행되고 있어 화면 전환 간 충돌(?)로 인해 해당 뷰가 계층에 포함되지 않은 것으로 확인됐습니다. 해당 경고를 해결해보겠습니다. [Step 1] 먼저 Storyboard Segue와 화면 전환 소스코드가 둘 다 생성되어 있는지 확인 [Step 2] 소스 코드에서 구현한 버튼의 perfromSegue 함수를 없애줍니다. (아니면 버튼의 이벤트 함수 자체를 없애줍니다.) 화면 전환을 Storyboard Segue를 이용해서 쉽게..

Error 2021.08.05