TIL (41) 썸네일형 리스트형 [TIL] 애플 소셜 로그인 구현기 이전 포스팅에서 카카오 소셜 로그인에 대해 구현한 내용을 작성하였었는데, 오늘은 애플 소셜 로그인을 적용한 구현기에 대한 여정을 작성해볼까 합니다! 해당 글은 애플 공식문서를 기반으로 구현한 내용을 설명해보고자 합니다. Implementing User Authentication with Sign in with Apple | Apple Developer DocumentationProvide a way for users of your app to set up an account and start using your services.developer.apple.com 코드 구현 전 환경설정우선 Signing & Capabilities > + Capability > Sign in with Apple 경로로 Si.. [TIL] 카카오 소셜 로그인 구현 이번 포스팅에선 카카오 소셜 로그인 구현에 대한 여정을 작성해 볼까 합니다.개발 전 사전 준비카카오 소셜 로그인은 개발 전 카카오 개발자 웹사이트에서 준비할 사항들이 좀 많이 있었는데요.그 과정을 하나하나 살펴보겠습니다. 애플리케이션 등록카카오 소셜 로그인을 사용하려면 카카오 개발자 웹사이트에 애플리케이션을 등록해주어야 합니다.앱 아이콘, 앱 이름, 회사명을 입력해줍니다. 여기서 가장 중요한 게 앱 아이콘인데요. 이는 앱을 카카오 Biz앱(실질적인 앱 운영을 위한 비지니스 앱)으로 등록하는 과정 중 필수과정이며, 추후 앱을 테스트 앱으로 전환하기 위함입니다. 왜냐하면 이후 유저가 카카오 로그인 시 유저에게 제공받을 개인정보 동의항목 설정의 제한을 더 확장시켜 주기 위함이죠. 이 부분에 대한 더 자세한.. [TIL] Keychain 적용기 적용 배경이전부터 유저 정보 저장용으로 계속 UserDefaults만 사용했기 때문에 이번에 보안성 좀 더 강하다는 Keychain을 적용해보려고 합니다. Keychain에 대하여등장배경 Secure login with iCloud Keychain verification codes - WWDC21 - Videos - Apple DeveloperLearn how you can support on-device verification codes in your app or website for a more secure sign-in experience. We'll explore the...developer.apple.com WWDC21 영상에 의하면 많은 유저들이 여러 디바이스에 걸쳐 동일한 비밀번호를 보유 및.. [TIL] Moya 라이브러리 Plugins Logging 도입기 도입 배경네트워크 통신에 관해 디버깅하던 도중 추상화되어 있는 Moya를 print로 일일히 원하는 시점에 찍어가며 디버깅하다보니 디버깅하는데 너무나 큰 불편함을 느껴 Moya 라이브러를 통한 Logging을 적용하게 되었습니다. Moya PluginsMoya 공식 문서에 따르면 Plugins 요청과 응답을 수정(modify)하거나 side-effects를 수행하는 데 사용된다고 기술되어 있습니다.Moya plugins are used to modify requests and responses or perform side-effects. 이 수정 과정을 도와주는 메서드들이 있는데요. 이들은 다음과 같습니다.public protocol PluginType { /// Called to modify a .. [TIL] SwiftUI에서 Bottom Sheet 구현기 기획이번 프로젝트에서 앱의 시작부분을 아래 사진처럼 기획 중인데요. 그래서 이번 기회에 이 Bottom Sheet를 구현한 내용에 대해 작성해 보려고 합니다. Bottom Sheet 만들기하단 시트 구현struct BottomSheetView: View where Content: View { @Binding var isPresented: Bool private var height: CGFloat private var content: Content @GestureState private var translation: CGFloat = .zero init(_ isPresented: Binding, height: CGFloat, content: () -> Con.. [TIL] SwiftUI 시작화면 제작기 시작 화면 흐름구현부Launch Screen처음 앱 시동시 Launch Screen(실제 구현에선 SplashView로 명명)을 띄운 후, 2초뒤 dismiss 처리하고, 대신 홈 화면(실제 구현에선 ContentView)를 띄웁니다.struct LaunchScreenView: View { @State private var isLaunching: Bool = true var body: some View { if isLaunching { SplashView() .onAppear { // 2초후 SplashView가 사라짐 DispatchQueue.main.as.. [TIL] Custom Modifier 적용기 오늘은 Custom Modifier를 적용하였던 과정에 대해 게시글을 작성해볼까 합니다. 적용 화면 기존 UI화면이 위와 같았는데요 이것을 아래와 같이 전일대비 변동률에 따른 텍스트 색을 변화시키는 Modifier을 커터마아징해보겠습니다. 적용과정 우선 Custom Modifier 정의를 위해 ViewModifier 프로토콜을 따르는 구조체를 선언해줍니다.애플 공식문서에 따르면, SwiftUI 프레임워크에 내장되어있는 한 프로토콜이고, 기존의 뷰 또는 다른 View Modifier에 적용시켜 또 다른 버전을 만들 수 있는 Modifier라고 합니다. 즉, 이 프로토콜을 채택하면 Custom Modifier를 구현해줄 수 있는 것이죠다음은 변동률에 관한 열거형 처리입니다. API 테스트 결과 변동률에 대한.. [TIL] SwiftUI 나머지 영역 차지 하기 문제사항 가장 오른쪽 파란색 영역으로 칠해진 거래대금 영역이 나머지 영역을 차지하기 하게 하고 싶습니다. 해결.frame(maxWidth: .infinity, alignment: .trailing) maxWidth를 .infinity로 설정해주면 아래와 같이 남은 전체 영역을 차지하면서 내부 View에 원하는 정렬을 적용해줄 수 있습니다. 참고 사이트https://medium.com/@youable.framios/%EA%B7%B8%EB%8C%80%EB%93%A4%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-layout%ED%95%A0-%EA%B2%83%EC%9D%B8%EA%B0%80-1-feat-swiftui-3877186521c5 (swiftUI Layout 1편)https://m.. 이전 1 2 3 4 5 6 다음