Xcode 21

[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

[iOS / Error] Could not insert new outlet connection 에러 해결

새로운 VIewController를 생성하고 메인 스토리보드와 연결 후, 스토리보드의 버튼을 참조하는 프로퍼티를 생성할 때 다음과 같은 에러가 발생했습니다. 해당 문제를 찾아보니 메인 스토리보드와 뷰 컨트롤러 간의 서로 연결이 제대로 되지 않아 생기는 오류라는 것을 알았습니다. 다음과 같이 정상적으로 연결이 되었다면 화살표를 눌렀을 때 뷰 컨트롤러가 나와야 합니다. 하지만 클릭만 되고 뷰 컨트롤러가 나오지 않을 경우, Xcode의 일시적 오류입니다. Xcode를 껐다가 다시 키면 잘 됩니다..!

Error 2021.08.01

[iOS / Error] no segue with identifier 에러 해결

화면 전환을 구현하다가 다음과 같은 에러가 발생했습니다. perFormSeque의 withIdentifier 매개변수 이름이 일치하지 않아 생기는 문제입니다. 문제를 해결해보겠습니다. [Step 1] 생성한 Segue객체의 Storyboard Segue 섹션에서 Identifier를 확인하기 [Step 2] 위에서의 Identifier명과 perfomsegue의 변수명을 일치하게 적었는지 확인 스토리보드와 소스 코드를 연결할 때는 항상 변수명을 잘 일치시켰는지 확인해야 합니다.

Error 2021.08.01

[iOS / Error] Edit placeholder in source file 에러 해결

TableView를 구현하다가 다음과 같은 에러가 발생했습니다. 처음에는 Table View Cell 섹션의 Reuse Identifier 이름이 잘못 매칭된 줄 알고 계속 비교해봤지만 아니었습니다. 해당 문제를 찾아보니 Custom Class 섹션의 Module명 문제이었다는 것을 알았습니다. 그렇다면 해당 에러를 해결해보겠습니다. [Step 1] 오른쪽 Indicator -> Custom Class 섹션 -> 모듈명을 확인 [Step 2] 모듈명이 None이라면 오른쪽 화살표를 클릭해서 자신의 프로젝트명을 클릭 'Edit placeholder in source file'의 에러가 발생하면 해당 Cell의 Custom Class 섹션에서 모듈명을 확인해야 합니다. + 추가적으로 이름을 모두 일치시켰음에..

Error 2021.07.28

[iOS / Error] NSException - this class is not key value... 에러 해결

TableView를 구현하다가 다음과 같은 에러가 발생했습니다. '어디서 실수를 했을까?' 생각해보다가 기존 라벨명이 searchLabels였는데 searchLabel로 바꿨을 때, 이미 메인 스토리보드에서 참조한 searchLabels의 변수명만 바꿔서 런을 하게 되면 에러가 발생했습니다. 메인 스토리보드에서 참조하는 라벨과 소스에서의 라벨이 일치하지 않아 생기는 에러인 것을 알았습니다. 해당 에러를 해결해보겠습니다. [Step 1] 기존 참조 코드를 지웁니다. [Step 2] 메인 스토리보드에서 라벨의 참조를 지웁니다. 메인 스토리보드 -> 라벨 우클릭 -> Referencing Outlets에서 'x' 클릭 [Step 3] 메인 스토리보드 변경된 라벨명으로 다시 참조 ctrl + 드래그 라벨명 바꾸..

Error 2021.07.28

[iOS / Error] Build input file cannot be found: 에러 해결

"Build input file cannot be found:"라는 문구와 함께 Info.plist 파일을 찾을 수 없다는 에러가 발생했습니다. Info.plist 파일을 폴더 안으로 이동시키면서 기존 파일 위치와 일치하지 않아 생긴 에러입니다. 해당 에러를 해결해보겠습니다. [Step 1] 프로젝트 파일 우클릭 -> Open with External Editor 클릭 [Step 2] 새로운 IDE에서 프로젝트 파일 클릭 (참고로 저는 vscode입니다.) [Step 3] cmd + f 로 "info.plist" 검색 후 Debug와 Release에서 Info.plist 파일 경로를 바뀐 경로로 변경

Error 2021.07.27

[iOS / Storyboard] Auto Layout 여러 View에 적용하기(2)

이번에는 여러 view에 대한 Auto Layout을 적용해보겠습니다. [Step 1] view 3개 생성하기 먼저 green View에 제약조건을 모두 설정해보겠습니다. 아직 빨간 부분이 존재합니다. 이번에는 pupple View의 제약조건을 모두 설정해보겠습니다. green View의 제약조건은 모두 만족하는 것을 확인할 수 있습니다. [Step 2] pupple의 왼쪽 가장자리 제약조건을 선택하고 green의 왼쪽 가장자리에 맞추기 pupple의 왼쪽 가장자리가 green의 왼쪽 가장자리에 맞춰진 것을 확인할 수 있습니다. 여기서 왼쪽 Constant를 30으로 조정해보겠습니다. 왼쪽을 30으로 줄인 만큼 pupple의 크기가 줄어든 것을 확인할 수 있습니다. 왜 위치가 변하지 않고 크기가 줄어들었..

Storyboard 2021.07.01

[iOS / Storyboard] Auto Layout 개념 이해하기(1)

스토리 보드에서 화면을 그릴 때 사용하는 Auto Layout에 대해서 알아보겠습니다. Auto Layout(오토 레이아웃)이란 view 간의 제약 조건(Constraints)으로 view의 크기와 위치를 동적으로 지정하는 것을 말합니다. 여기서 제약조건에는 view의 높이, 너비, 수직 및 수평 중심, 그리고 view의 가장자리(Leading - 왼쪽, Trailing - 오른쪽, Top - 위, Bottom - 아래) 등이 있습니다. Auto Layout Guide 참고 내용입니다. Understanding Auto Layout Auto Layout Guide: Understanding Auto Layout developer.apple.com Auto Layout을 이용해서 Constraints를 설..

Storyboard 2021.06.30

[Algorithm / Swift / IDE] Swift로 알고리즘 공부하기 좋은 방법

Swift로 작성한 소스 코드를 Run 한 결과도 보고 싶고 클래스의 객체 내부에 함수가 뭐가 있는지 알고 싶고 구현하다가 막히는 부분 라인이 어디인지 디버깅하고 싶을 때! Xcode를 이용해서 문제를 해결할 수 있습니다. [Step 1] 새로운 프로젝트에서 Command Line Tool 생성하기 [Step 2] Run 해보기 결과가 잘 나오는 것을 확인할 수 있습니다. [Step 3] BreakPoint 설정해보기 라인 숫자를 클릭하면 BreakPoint를 설정할 수 있습니다. 이를 없애기 위해서는 드래그한 상태로 왼쪽으로 버리거나 cmd + Y를 이용해서 BreakPoint를 인식하지 못하게 할 수 있습니다. [Step 4] Debugging 해보기 디버깅을 통해서 변수에 생각한 값이 들어갔는지 확..

Algorithm/Swift 2021.06.25