Xcode로 Git에서 무시할 파일을 정의해봅니다.
FirebaseFirestoreSwift 라이브러리를 통해 DB에서 가져온 snapshot을 decode해봅시다!
Codable의 property에 초기값? Codable은 JSON 객체 등에서 자동으로 Swift의 객체로 바꾸어 줄 수 있도록 해주는 Protocol입니다. 보통은 json을 통해서 해당 객체를 init하려고 채택하는 Protocol이기 때문에 property 초기값이 없이 let을 통해서 선언하는 편인데요. 어떤 이유로 초기값이 필요한 경우도 있습니...
테스트 활성화가 안되어 있다? Xcode에서는 왼쪽의 Navigator의 테스트 탭을 통해서 테스트를 일괄적으로 수행할 수도 있고 각각의 테스트를 하나씩 수행할 수도 있도록 되어 있는데요. 대부분 이런 경우는 드물지만 간혹 이렇게 테스트가 활성화가 되어 있지 않는 경우가 있습니다. (저는 다른 디버깅 때문에 뭔가 건드리다가 이렇게 됬습니다ㅠㅠ) 해결책 ...
TabView에 onTapGesture을 사용하면 안되는 이유 예전에 썼던 코드를 보다가 우연히 발견하게 된 버그인데요. 뭔가 바보 같아 보이지만😅 포스팅으로 남기고 싶어 남겨봅니다. TabView에서 어떤 Tab이 선택되었는지 알기 위해서 selection에 binding 변수(아래 코드에서 $selectedTab)를 전달하는 경우가 있습니다. 이런 ...
안녕하세요. 오늘 회사에서 있었던 일을 가지고 포스팅을 작성해보겠습니다. 약간 황당할 수 있는 실수였는데요. 반복하지 않기 위해서 기록을 남겨두고자 합니다! apt install 회사에서 aws cli를 사용 할 일이 있었습니다. 시니어 분이 친절하게 명령어를 적어서 슬랙을 보내주셨습니다. 터미널에서 apt로 aws cli를 설치하고 계정을 등록하라고 ...
이번에 새로운 프로젝트를 시작하면서 테스트를 위해서 iOS에서 테스트 작성을 도와주는 Quick과 Nimble이라는 라이브러리를 SPM을 활용해서 설치했습니다. 하지만 이 라이브러리를 설치하자마자 아래와 같은 에러가 나면서 빌드가 되지 않았습니다. 🚫 에러 메시지
실무를 하는 중에 디자이너와 협업을 하다보면 사용할 색을 미리 정해놓고 쓰는 경우가 있습니다. 이 경우 코드에 RGB 값을 사용해서 아래와 같이 전역에 정의해놓고 사용하는 경우가 많습니다. 하지만 위와 같은 방식은 수정하기도 쉽지 않고 색을 직접 확인할 수 없기 때문에 실수의 가능성도 높습니다. 그리고 앱의 다크모드를 구현하는 경우 코드에서 색을 전부 구...
실무를 하다보면 디자이너가 iOS에 내장된 시스템 폰트 이외의 다른 폰트를 사용할 때가 있습니다. 프로젝트에 원하는 폰트를 추가하는 방법을 알아봅시다. 프로젝트에 Font 파일 추가하기 Navigator의 좌하단에 있는 “Add File to ~”를 통해서 원하는 폰트 파일을 추가합니다. 그냥 Finder에서 복사를 하면 프로젝트 파일에서 인식하지 못하...
Print 디버깅의 가장 기본적인 방법은 print문을 사용하는 것입니다. Combine에서도 마찬가지로 publisher에 일어나는 모든 일을 콘솔에 출력해주는 메소드인 print가 존재합니다. handleEvent print는 publisher에 관련된 모든
Cancellable Combine에서는 Publisher를 구독하는 경우 Cancellable을 리턴합니다. 이름에서 알 수 있듯이 Cancellable을 통해서 구독을 취소할 수 있습니다. 종종 이 Cancellable 객체를 메모리에 남겨두지 않는 실수를 하곤
Percent Encoding Percent Encoding은 URL에 특수문자를 사용할 때 “%”를 이용한 다른 문자로 대체해서 표현해주는 방식입니다. 자세한 내용은 아래 공식문서를 참조해주세요. Percent-encoding - MDN Web Docs Gloss
Asset에 이미지를 추가하면? Xcode에서 이미지를 추가하면 처음 마주하는 모습은 아래와 같습니다. 우리가 추가한 이미지는 1x라는 칸에 들어가 있고 추가적으로 2개의 이미지를 2x, 3x에 넣어주어야 할 것 같은 느낌입니다. 1x, 2x, 3x? 이 세가지는
SwiftUI로 개발할 때 preview는 상당히 유용합니다. 우리가 구현한 뷰가 실시간으로 업데이트되는 화면을 볼 수 있기 때문인데요. 보통 처음에 세팅이 되어있는 preview는 현재 선택한 시뮬레이터의 기기 1종류에서만 볼 수 있습니다. 하지만 아이폰은 기종에
개발을 할 때 어디선가 코드를 가져와서 복붙을 하는 것은 자주하는 일입니다만, 가끔 그걸 넘어서서 .swift 파일을 통째로 프로젝트에 추가해야 할 경우도 생깁니다. 오늘은 외부 코드 파일 (사실 코드 뿐만 아니라 모든 파일에 해당합니다.)을 추가하는 방법에 대해서 알
증상 제가 MeaningTextField를 삭제하고 커밋을 하려고 했는데요. 왠지 모를 이유로 예전에 이미 삭제한 코드가 이런 식으로 남아있는 경우가 있습니다. 예전에 이미 삭제한 코드가 이런 식으로 남아 있을 때, 커밋하려고 하면 git에서 file 경로를 찾을
안녕하세요. 이번 포스팅에서는 실무에서 Postman을 사용할 때 활용할 수 있는 꿀팁을 하나 소개하고자 합니다. Token 만료…🫠 JWT 토큰을 통해서 인증을 하는 서버의 API를 Postman를 통해서 사용하게 되면 토큰을 입력하고 한동안은 사용이 잘 되지만
지난번 포스팅에서 Postman의 Pre-request Script 기능에 대해서 설명을 했었는데요. 해당 기능은 Postman으로 API를 호출하기 전에 지정된 코드를 실행할 수 있는 기능이었습니다. 이번 포스팅에서는 Test에 대해서 소개합니다. Pre-reque
오늘은 Double, Float 등 소수점을 다루는 수에 정의된 .ulpOfOne이라는 개념에 대해서 알아본다. 정의 공식 문서를 보고 가자. 공식 문서에 따른 정의는 아래와 같다. > The positive difference between 1.0 and t
오늘은 swift에서 reflection을 할 수 있도록 해주는 Mirror라는 객체에 대해서 소개해보도록 한다. reflection을 위한 객체가 mirror라고 했다. 그렇다면 reflection의 정의를 알고 가야 Mirror에 대한 설명을 이어갈 수 있다. re