본문 바로가기

iOS55

Swift의 디자인 프로토콜 인터페이스 WWDC22 Embrace Swift generics(Swift 제네릭 활용)과 이어집니다. https://developer.apple.com/videos/play/wwdc2022/110353/ 주요 내용 1. 프로토콜의 assiciated 타입이 Any 타입과 상호작용 하는 방법을 type erasure으로 이해 2. Opaque type으로 구현부 숨기기 3. 프로토콜의 동일 타입 요구 사항이 어떻게 서로 다른 구체 타입 집한 간의 관계를 모델링하는지 1. Understand type erasure 2개의 Animal 타입, 2개의 Food 타입이 있다. Animal 프로토콜은 Food를 채택한 CommodityType을 연관타입으로 가지며 이것을 produce하도록 명시한다. 다이어그램으로 나타내면.. 2023. 4. 27.
[HIG] Components - Text fields https://developer.apple.com/design/human-interface-guidelines/components/selection-and-input/text-fields Text fields - Selection and input - Components - Human Interface Guidelines - Design - Apple Developer Text fields A text field is a rectangular area in which people enter or edit small, specific pieces of text. Best practices Use a text field to request a small amount of information, such as.. 2023. 4. 20.
[HIG] Components - Buttons https://developer.apple.com/design/human-interface-guidelines/components/menus-and-actions/buttons Buttons - Menus and actions - Components - Human Interface Guidelines - Design - Apple Developer Buttons A button initiates an instantaneous action. Versatile and highly customizable, buttons give people simple, familiar ways to do tasks in your app. In general, a button combines three attributes t.. 2023. 4. 14.
ARC in Swift: Basics and beyond https://developer.apple.com/videos/play/wwdc2021/10216/?time=1190 ARC in Swift: Basics and beyond - WWDC21 - Videos - Apple Developer Learn about the basics of object lifetimes and ARC in Swift. Dive deep into what language features make object lifetimes observable,... developer.apple.com Swift에서 struct, enum은 값타입, class는 참조타입이다. class를 사용하면 의도하지 않은 share가 발생 할 수 있다. class를 사용한다면 Swift는 Authomat.. 2023. 4. 13.
Swift Moya에 Interceptor 적용하여 자동로그인(토큰 갱신) 구현하기 오늘은 iOS에서 로그인을 구현할 때 Interceptor를 사용해 자동으로 토큰을 갱신하는 방법을 알아봅시다! 🏃🏻‍♀️ 오늘의 주제 현재 진행중인 프로젝트에서는 Apple과 카카오로 로그인하는 소셜 로그인 기능을 제공하고 있습니다. 일반적으로 iOS에서 소셜로그인 플로우는 다음과 같습니다. Apple이나 카카오와 같은 OAuth Provider로부터 oAuthToken을 받습니다. (oAuthToken은 provider에 따라 accessToken이나 다른 이름으로 불리기도 합니다! 오늘은 oAuthToken으로 통일해서 부르겠습니다.) 이 과정은 이미 많은 곳에서 잘 설명하고 있기 때문에 생략하겠습니다! 1번에서 받은 oAuthToken을 우리 프로젝트의 서버에 보냅니다. 서버는 우리가 보낸 oAu.. 2023. 4. 8.
Swift SupaBase Auth 비밀번호 초기화 + 변경 지난번 SupaBase Storage에 이미지 업로드하기에 이어 이번에는 SupaBase를 사용하여 비밀번호 초기화 + 변경 기능을 구현해보자! 비밀번호를 잊었을 때 일반적으로 비밀번호 찾기 버튼을 누르면 메일을 발송 + 메일을 클릭해 본인 인증을 하면 기존의 비밀번호가 초기화 되고 새 비밀번호를 설정하는 로직 1. 비밀번호 찾기/초기화 뷰 구현 로그인 화면에 비밀번호 찾기/리셋 버튼을 넣는다. 해당 버튼을 클릭하면 비밀번호를 변경할 이메일을 입력 받는 뷰로 이동시킨다. 이메일을 입력 받으면 SupaBase sdk를 불러와서 해당 이메일로 PasswordReset 메일을 발송한다. 2. 딥링크 설정 뷰 구현을 하고 SupaBase 코드를 사용하기 전에 우선 SupaBase 홈페이지에서 URL 설정 + 프.. 2023. 3. 28.