iOS
-
decode vs decodeIfPresentiOS 2022. 12. 14. 16:01
Codable 이후 필드명이나 코딩키만으로 직접 디코딩없이 파싱이 가능해졌지만, 그럼에도 별도의 처리가 필요하다면 여전히 디코더를 통한 생성자를 만들어줘야 할 때가 있습니다. 이때 필요한 decode 와 decodeIfPresent 의 차이는 "해당 필드가 존재하냐" 의 여부로 관점으로 생각해볼 수 있습니다. 다음 JSON 을 파싱하려고 할 때, { title: "woongs", subtitle: "decoding" } 다음과 같이 만들어볼 수 있습니다. 아직 딱히 문제는 없습니다. required init(from: decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) self.title = t..
-
[iOS] APNs 를 통한 Push 알림 이해하기iOS 2022. 12. 7. 16:04
오늘은 개개인이 갖고 있는 아이폰 디바이스에 푸시 알림이 오는 과정에 대해 알아보려고 합니다. 앱 개발자의 관점에서 살펴봅니다 :) 먼저 푸시가 전송되는 큰 흐름을 간략하게 보고 블라인드로 남아있는 부분을 하나씩 알아보겠습니다. 흐름 이해하기 개별 디바이스에 직접적으로 푸시 알림을 보낼 수 있는 주체는 오직 APNs 뿐입니다. APNs 란 Apple Push Notification server 의 약자로 즉 애플만이 직접적으로 디바이스에 푸시 알림을 보낼 수 있습니다. 따라서 저희는 APNs 에게 우리 앱에 푸시를 보내줘! 라고 요청해야 합니다. 이 요청이 유효한지 보고 APNs 가 푸시를 보낼지 말지를 판단합니다. 이 요청 또한 정해진 규격에 맞게 APNs 와 연결한 후에 가능하고, 이를 위해 APNs..
-
Xcode 여러 버전 설치 후 git 문제iOS 2022. 5. 13. 14:16
아래와 같은 에러가 나온다면, git에서 제대로 된 Xcode 경로를 찾지못해 발생하는 에러입니다. xcrun: error: active developer path ("/Users/~~~/Xcode13.2.app/Contents/Developer") does not exist Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools. See `man xcode-select` for m..
-
UITextField clear button customiOS 2021. 10. 16. 23:48
UITextField 에서는 기본적으로 clear 버튼을 제공하는데요, 이걸 커스텀 하려면 어떻게 하는지, 이때 또 어떤 문제가 있었는지 알아보겠습니다 :) 기본 clear button 우선 기본적인 clear 버튼은 clearButtonMode를 통해 만들어줄 수 있습니다. textfield.clearButtonMode = .whileEditing 이렇게 4가지 모드가 있는데 각각은 보시면 아시겠죠?? 아무튼 이걸 설정해주면 이렇게 clear 버튼이 나타나고, 버튼을 눌러 clear까지 알아서 해줄 수가 있습니다. clear button custom 문제는 저 clear 버튼을 커스텀 할 수가 없다는 겁니다.. (아니 🍎 쓰는김에 좀 더 쓰지...) 제 문제는 저 어두운 배경에서 clear 이 너무 안..