본문 바로가기

IOS

(51)
Xcode - SwiftUI 모든 이벤트가 동작하지 않을때 얼마전 레거시 프로젝트 중에 UIKit -> SwiftUI 로 변환 작업중에 모든 SwiftUI 코드가 읽혀지지 않는 문제가 발생 View는 그려지지만 @State, @Binding 등등 값을 변환 하기위한 모든 이벤트가 동작하질 않는다.일단 UIKit -> SwiftUI 로 변환 하기 위해서는 다음과 같은 절차를 따른다1.  각종 파일 삭제기존 스토리보드와, 뷰 컨트롤러 제거와 동시에 info.plist 파일 에 해당 내용까지 삭제 처리 한다.  SwiftUI 의 메인을 연결하는 방법은 여러가지가 있는데, 필자는 AppDelegate, SceneDelegate 로 처리 하였고App 파일에서 처리 하는 방법까지 작성 해놓겠습니다AppDelegate -> SceneDelegate -> View 연결Appd..
SwiftUI - Naver Login 지난 구글, 카카오 로그인 에 이어서 Naver API 를 이용한 로그인 (네아로) 를 진행 하고자 합니다. SwiftUI 방식으로 진행 했습니다. 운영하면서 다른내용이 나온다면 추가 하겠습니다. 1. 설치 pod 'naveridlogin-sdk-ios' 2. 셋팅 네이버 회원가입, 어플리케이션 추가는 완료 했다는 가정하에 진행입니다. info.plist 파일에 다음과 같이 스키마를 추가 해줍니다. LSApplicationQueriesSchemes naversearchapp naversearchthirdlogin *iOS 14 부터 LSApplicationQueriesSchemes 키값이 Queried URL Schemes 으로 바뀌었습니다 (상단 이미지 참고) Source Code 방식으로 수정할경우 ..
SwiftUI - kakao Login 워낙 카카오 연동규격서가 잘나와있지만, 저의 내용을 기록 하기위해 작성 했습니다. 초간단 연동 방법입니다. 운영하면서 다른내용이 나온다면 추가 하겠습니다. 1. 플랫폼 추가 카카오 회원가입, 어플리케이션 추가는 완료 했다는 가정하에 진행입니다. 내 애플리케이션 -> 앱설정 -> 플랫폼 에서 추가 가능합니다. 번들 ID : Project (General) -> Bundle Indentifier 값을 추가하고 앱스토어 ID, 마켓 URL 같은경우 실제 앱스토어 등록전이라 제외 했습니다. 2. 셋팅 2-1. Pod kakaoSDK 같은경우 모든 SDK 를 포함하고 있기에 필요시 아래 모듈중 선택할수 있습니다. 필자는 kakaoSDK 으로 진행했습니다. pod 'KakaoSDK' pod 'KakaoSDKComm..
Widget - 위젯을 타입별로 꾸며보자 https://moonggi-dev-story.tistory.com/91 Widget - 신규 프로젝트에 위젯을 달아보자 바쁘다 바빠 현대사회.. 정말 올만에 글을 써봅니다 현생과 운동에 푹 빠져있는 저에게 블로그는 우선순위에서 밀려있었네요 (ㅠㅠ) 다시 초심을 찾아 떠나보는걸로 ~_~.... 새로 작성하는 김에 moonggi-dev-story.tistory.com 에 이어서 위젯에 내용을 추가 하고자 합니다. 좀더 기능을 추가해서 그럴듯한(?) 위젯을 만들어 보고자 합니다. 1. 위젯 뷰 구성 1-1. 사이즈별 뷰를 꾸미는 방법 - 기본적으로 위젯의 사이즈는 3가지 타입을 가지고 있습니다. (systemLarge, systemSmall, systemMedium) - 한가지 뷰로만 꾸릴경우 사이즈 규격에..
Widget - 신규 프로젝트에 위젯을 달아보자 바쁘다 바빠 현대사회.. 정말 올만에 글을 써봅니다 현생과 운동에 푹 빠져있는 저에게 블로그는 우선순위에서 밀려있었네요 (ㅠㅠ) 다시 초심을 찾아 떠나보는걸로 ~_~.... 새로 작성하는 김에 재미있는것이 어떤게 있을까 찾다가 위젯을 찾았습니다. 이것저것 기능을 추가 해보고자 합니다. 워낙 좋은글이 많지만 저도 하나 작성 해봅니다. 1. 프로젝트 생성 1-1. Xcode -> New -> Target 클릭 1-2. iOS 탭 -> Widget Extension 선택 1-3. 실행, 테스트, 디버깅을 위한 스키마 팝업에서 활성화 버튼을 클릭 해줍니다. Cancel 를 선택해도 스키마가 자동으로 잡히는거 같았습니다.. (위젯 잘나옴) 2. 프로젝트 생성 2-1. 본격 소스 작업을 시작하기전에, 위젯을 구성하..
iOS - SPM 프로젝트에 Cocoapods 을 달아보자 요즘 이것저것 해보고 싶은게 많다. 그래서 깃허브에 라이브러리를 올려보자 한다. 내용자체는 간단한 내용이지만, 언젠간 쌓일 ⭐️ 을 위해... 시간 관련 함수를 정리한 라이브러리에, Cocoapods 을 달아보고자 한다. 사실 SPM 은 Swift Package 로 생성한것에 GitHub 에만 올리면 가능한 이야기라, 따로 설명은 없다. 하지만 아래의 블로그를 보면 참고 할수 있다. https://moonggi-dev-story.tistory.com/86 iOS - 프로젝트에 SPM 을 달아보자 종속성 관리를 위한 도구인 SPM 을 소개 하고자합니다. 기존에 Cocoapod(3st party) 으로 설치했던 라이브러리를 SPM(1st party) Xcode 내장 기능을 이용해 구성 했습니다. 공통적으로 ..
Swift - Google Login Google Login 연동 진행하다가 규격서가 바껴서 그런지 다른 블로그에서 내용을 찾지못해 직접 작성했습니다. 무엇보다 가이드는 공식이 최고... 1. OAuth 2.0 추가 ??? 왜 Xcode 말고 이거부터 하지 라고 생각할수 있는데, Xcode 관련한 내용은 한꺼번에 정리하기 위해 먼저 작성했습니다. 실제 연동할땐 순서 상관 없습니다. https://console.cloud.google.com/ Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 1-1. 클라우드 플랫폼에서 신규 프로젝트를 생성 합니다. 1-2. 생성후 API 및 서비스 -> 사용자 인증정보 -> 사용자 정보 인증 만들기 -> OAuth 클라이언트 ID 를 클릭해 생성 해..
SwiftUI - 프로젝트에 TCA 를 적용 해보자 (1) 주로 SwiftUI (MVVM) 로 개발을 진행하고 있는데 직장 동료의 조언에 따라 다른 아키텍처를 사용 해보고자 한다. 이번엔, 선언형 프로그래밍에서 많이 사용하고 있는 TCA 라는 아키텍처를 연습해보고 알아보자. 여기서 TCA(The Composable Architecture) 란? 기존에 리액터에서 사용하는 기법으로 단방향으로 사이클이 돌아가며, ReactorKit 과, Redux 과 같은 비슷한 아키텍처 이다, Swift (UIKit, SwiftUI, Watch, TV, Mac OS 모두 사용이 가능하다.) 내부적으로 Combine 을 사용하고 있기때문에 최소 버전은 iOS 13 버전이다. * 필자가 공부한 내용 토대로 작성 하였기에, 내용이 그때그때 수정될수 있으며 사실과 다른내용이 있을수도 있..