ios 15

[Swift] Optional Unwrapping (4) - 옵셔널 체이닝 (Optional Chaining)

안녕하세요 띵지니어 😼 입니다. 이번 시간에는 닐 코얼레싱(Nil-Coalescing)에 이어 옵셔널 언래핑하는 방법 중 네 번째 방법을 소개하려 해요 바로바로 옵셔널 체이닝(Optional Chaining)에 대해 포스팅 해보려고합니다. 시작 전에 "체이닝"? 이 뭐죠? 아래와 같이 점(.) 문자로 객체, 메서드, 속성에 접근을 하는 것을 보통 체이닝(Chaining) 이라고 합니다. 본격적으로 시작해 볼게요 🍎 옵셔널 체이닝 (Optional Chaining) 요약하자면 옵셔널 값에 대한 안전한 접근을 연속적으로 수행할 때 사용 합니다. 즉 옵셔널 값이 nil일 수 있는 여러 프로퍼티, 메서드, 서브스크립트를 하나의 연속된 표현식 내에서 안전하게 호출하고, 표현식 중 하나라도 nil을 반환할 경우, ..

Swift 2024.04.19

[iOS] AutoLayout 충돌 해결하는 방법 (feat: SnapKit)

안녕하세요 띵지니어 😼 입니다. 이번 포스팅은 오토 레이아웃을 짤 때 Layout Conflict 가 발생할 경우 어떻게 해결해야 하는지 알아볼게요. UI Layout을 짜다가 다들 아래와 같이 Warning 메시지를 보신 적 있으실 거예요! (없으면 진짜 고수..) Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the..

iOS 2024.03.05

[iOS] 프로젝트에 폰트(Font) 넣는 법

오늘은 프로젝트 하면서 Apple에서 제공되는 font가 아닌 외부 폰트를 가져와서 프로젝트에 적용 시켜보는 작업을 해보도록 할게요 🍀 먼저 외부에서 font를 다운받아서 로컬로 다운 받아요 저는 길형진님의 pretendard 폰트를 다운 받았어요 폰트 다운로드 : 눈누 이제 프로젝트에 어떻게 적용 시키는지 알아볼게요 ‼️ 1. 다운로드한 폰트를 사용하고 싶은 대로 골라서 따로 프로젝트에 넣어 볼게요 저는 아래와 같이 5개의 폰트를 넣어 줄게요 2. Copy items if needed를 눌러서 완전하게 프로젝트에 넣어줍니다. 그리고 폰트를 적용하고 싶은 프로젝트 targets에 체크해줍니다. 저는 Puzzle-iOS에 해놓을 게요! 사진에는 체크가 안 되어있는데 Fonts를 적용하고자 하는 프로젝트 파..

iOS 2024.02.10

[iOS] 아이폰 UDID 확인법

UDID는 개발자가 테스트 목적으로 특정 장치를 등록하거나, 앱 개발과 배포 과정에서 장치를 식별하는 데 사용됩니다 여기서 iPhone의 UDID (Unique Device Identifier) 를 어떻게 확인하는지 알아 봅시다. 이 글은 Mac 과 iPhone을 연결하는 케이블이 있을 거라고 생각 하고 작성 하였어요. 총 두가지 방법으로 설명 하겠습니다. 1번 방법 - Finder에서 확인하기 1. 아이폰과 맥을 선으로 연결해 줍니다. 저는 iPhone 13Pro 모델이기 때문에 Mac(C 타입) -- iPhone(라이트닝) 으로 연결해 주었어요. 2. Finder에 들어가줍니다. Finder 에 들어가면 왼쪽 아래 박스처럼 자기 휴대폰이 뜰 텐데 클릭해 주고, 두 번 클릭하라는 부분을 두번 눌러줘요 ..

iOS 2024.02.04

[iOS/Xcode] info.plist 위치 옮길때 에러 해결법

안녕하세요 이번 시간에는 프로젝트 초기 세팅을 하면서 info.plist 위치를 수정했을 때 빌드 에러가 날 때 해결하는 법을 알아볼게요 저는 사진처럼 "build input file cannot be found:Path" 에러를 겪었어요 에러를 자세히 읽어보니 info.plist의 경로를 알 수 없다고 떴어요 프로젝트 내부에서 info.plist 가 바뀐다고, 경로가 수정되진 않기 때문이에요 해결 방법 1. info.plist의 파일 위치와 프로젝트 파일 위치를 맞춰줘요 2. 프로젝트 -> Target -> BuildSetting -> Packaging -> info.plist File 의 위치를 알맞게 조정해 주면 됩니다. 그러면 관련 에러가 사라지고 빌드가 잘 되는 걸 볼 수 있어요

iOS 2024.01.26

[Slack] Incoming Webhooks 사용 (feat: Fastlane in iOS)

fastlane을 통한 CI/CD를 하면서, 슬랙에 알림봇을 만들고 싶을 때 Incoming Hooks URL 을 활용해요 ! Incoming Hooks 을 사용하는 방법을 알아볼게요 1. 슬랙에 앱 등록하기 https://api.slack.com 에 접속하여 로그인 후 아래 사진과 같이 앱을 생성해 줍니다. (슬랙 api 홈페이지 오른쪽 상단에 Yourapps 이 있습니다.) 그럼 아래와 같이 뜰 텐데, scratch 를 눌러줘요 ! AppName 을 입력하고, 현재 Slack Bot 을 사용하려고 하는 workspace 로 연결해 줍니다. 마지막으로 방금 만든 앱으로 와서 Collaborators 로 알람에 관련 있는 사람을 추가해 주면 돼요! ex) iOS 개발자, PM 2. Incoming We..

iOS 2024.01.22

[Swift] Optional Unwrapping (3) - 닐 코얼레싱 (Nil-Coalescing)

지난 시간에 옵셔널 언래핑 하는 방법 중 옵셔널 바인딩(Optional Binding) 부분을 공부해 봤어요 옵셔널 바인딩은 스위프트에 꽃 이라 .. 꼭 참고해 보면 좋아요! https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-2-%EC%98%B5%EC%85%94%EB%84%90-%EB%B0%94%EC%9D%B8%EB%94%A9-Optional-Binding-if-let-guard-let [Swift] Optional Unwrapping (2) - 옵셔널 바인딩 (Optional Binding) if let , guard let 지난 시간에 옵셔널 언래핑 하는 방법 중 강제 추출(Forced Unwrapping) 부분을 공부해 봤어요 https:/..

Swift 2024.01.18

[Swift] Optional Unwrapping (2) - 옵셔널 바인딩 (Optional Binding) if let , guard let

지난 시간에 옵셔널 언래핑 하는 방법 중 강제 추출(Forced Unwrapping) 부분을 공부해 봤어요 https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-%EA%B0%95%EC%A0%9C-%EC%B6%94%EC%B6%9C-Forced-Unwrapping 강제 추출이 궁금한 분들은 위 게시물 참고해 주세요! ⬆️⬆️ Optional Binding 이번 시간에는 옵셔널 언래핑하는 방법 중 두 번째 방법을 소개하려 해요 바로바로 옵셔널 바인딩(Optional Binding) 이에요. 강제 추출 문법, 느낌표 ! 기억나죠? 이번에 할 옵셔널 바인딩은 강제 추출 방법이 아닌 !! 훨씬 더 안전한 방법이에요 단순한 Syntax 로 옵셔널 값을 추출할 수..

Swift 2024.01.15

[Swift] Optional Unwrapping (1) - 강제 추출 (Forced Unwrapping)

https://thingjin.tistory.com/entry/Swift-Optional-%EA%B0%9C%EB%85%90-%EC%95%8C%EC%95%84-%EB%B3%B4%EA%B8%B0-nil-%EC%A0%95%EC%9D%98 [Swift] Optional 개념 알아 보기, nil 정의Optional Swift를 조금이라도 접해본 분들은 많이 들어봤을 옵셔널!! 에 대해서 알아 보기로 해요!!! 정의 : 래핑 된 값(Wrapped) 또는 값의 부재(absence)를 나타내는 타입이에요~ 애플은 정의를 너무 어렵thingjin.tistory.com⬆️⬆️ 지난 시간 Optional 개념 지난번에 옵셔널 타입에 대해 알아봤어요 지난 포스팅 마지막에 옵셔널 값을 확인할 때, Optional("지수")를 ..

Swift 2024.01.11

[Swift] Optional 개념 알아 보기, nil 정의

Optional Swift를 조금이라도 접해본 분들은 많이 들어봤을 옵셔널!! 에 대해서 알아 보기로 해요!!! 정의 : 래핑 된 값(Wrapped) 또는 값의 부재(absence)를 나타내는 타입이에요~ 애플은 정의를 너무 어렵게 해서.. 공식 문서 보기 무서워요 하지만 왜 이렇게 했는지는 설명을 듣다 보면 알 거예요! 쉽게 말해 옵셔널 변수는 값이 있을 수도 없을 수도 있는 변수 라고 생각하면 돼요! 말로는 무슨 소리인지 모를 거예요 ‼️ 그래서 좀 더 설명할게요 위와 같이 let/var 변수 이름: 타입? 으로 주로 선언해요 저 String 타입 옆에? 이걸 붙이면 옵셔널 타입이에요 보통은 shortForm 형태로 많이 사용해요 옵셔널 타입은 열거형(enum)으로 이루어져 있어요 그래서 정의가 래핑..

Swift 2024.01.08