iOS
-
프로젝트 파일 구조 및 네이밍에 대해 (with. TCA & Coordinator 패턴)iOS 2022. 8. 20. 11:40
안녕하세요. 그린입니다🍏 이번 포스팅의 분량은 아주아주 짧습니다! 새로운 프로젝트를 진행하면서 모듈화된 프로젝트의 통일된 파일 구조를 잡아가고 네이밍에 대해 고민함에 있어 기준을 삼고 정해본걸 공유해볼까합니다🙌 프리뷰 우선 들어가기에 앞서 프로젝트의 큰 틀을 설명해봐야 이해가 쉬울것 같아요. 아키텍쳐로는 TCA(The Composable Architecture)를 사용하게 될 것이고 코디네이터 패턴을 적용하여 화면 전환을 담당해줍니다. TCA에 적합한 코디네이터 패턴 라이브러리인 TCACoordinators를 사용합니다. 해당 라이브러리를 몰라도 이번 포스팅은 전혀 전혀 문제가 되지 않습니다. 단지 코디네이터 패턴만 알고 계시면 됩니다! 그럼에도 혹시 이것이 뭔지 궁금하시다면 아래 포스팅을 참고해주세요🙏..
-
NSCache vs URLCacheiOS 2022. 8. 1. 10:25
안녕하세요. 그린입니다🟢 이번 포스팅에서는 오랜만에 간단한 주제인 NSCache와 URLCache의 차이를 알아보려고 합니다🙌 그럼 본론으로 바로 들어가시죠! 우선 둘다 Cache라는 개념에서는 동일할거에요. 그럼 Cache가 뭔지 간단히 살펴볼까요? Cache란? 캐시의 정의는 데이터나 값을 미리 복사해 놓는 임시 장소를 말합니다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 혹은 값을 다시 계산하는 시간을 세이브 하고 싶은 경우에 사용됩니다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있습니다. 그럼으로 캐시는 시스템의 효율성을 위해 여러 분야에서 두루 쓰이고 있습니다. 이것이 캐시의 정의입니다. iOS에서 사용..
-
@main vs @UIApplicationMainiOS 2022. 7. 21. 09:32
안녕하세요. 그린입니다🟢 이번 포스팅에서는 @main과 @UIApplicationMain이 무엇인지 그리고 어떤 차이가 있는지 학습해보겠습니다🙌 swift 5.3 이전부터 Xcode를 통해 프로젝트를 만들어보시고 경험해보신분이라면 이 두 키워드에 대해 모두 보셨을거에요. 그럼 실제적으로 이 두 키워드는 어떤 친구고, 무슨 차이이며 어떤걸써야하는지에 대해서 정리해보겠습니다! @main 쉽게 말해 이 키워드는 프로그램의 진입점을 나타내줍니다. 어느 프로그램이던지 시작점 즉 Entry Point는 존재해야하죠. Swift에서는 @main을 통해 어디서부터 이 앱이 최초 실행되고 시작될지를 명시해주는 키워드입니다. 이 키워드는 Swift 5.3 이상(Xcode 12)부터 사용된 키워드로 바로 이어서 설명하겠지만..
-
UIKit에서 SwiftUI로 LifeCycle 변환하기iOS 2022. 7. 14. 09:07
안녕하세요. 그린입니다🟢 이번 포스팅에서는 아주 간단한걸 해보려합니다! 바로 UIKit 기반으로 만들어졌거나 사용되고 있는 앱을 SwiftUI 인터페이스 기반으로 바꿔보려고해요🙌 당연히 물론 처음에 프로젝트 생성 시 Interface 방식을 잘 고르면 상관없겠지만 알아두면 좋겠죠🕺🏻 Storyboard 기반 프로젝트 생성 우선 UIKit 기반으로 환경 셋팅을 하려면 프로젝트 생성 시 Storyboard로 인터페이스 설정을 해줘야합니다. 이러면 오늘 학습해볼 프로젝트가 생성됩니다. 저기서 아시겠지만 Interface는 Storyboard 그리고 SwiftUI 요 두개로 나눕니다. SwiftUI로 만들게 되면 스토리보드 파일이나 App/SceneDelegate 파일이 기본적으로 없으며 App 파일을 메인 시..
-
새로운 앱을 만들기 위한 기술스택 선정하기iOS 2022. 6. 30. 11:44
안녕하세요. 그린입니다🟢 이번 주제에서는 새로운 앱을 만들때 꼭 필요한 기술 스택에 대해 얘기를 나눠보려고해요. 지극히 제 주관적인 부분이기에 공감이 안될 수도 있으니 참고해주시면 좋겠습니다🙇🏻 기술스택 선정이 중요한 이유 현업에서 혹은 개인/팀 프로젝트에서 새로운 프로덕트를 처음부터 끝까지 만들어보는것은 개발자의 성장에도 영향이 있겠지만 만들어지는 프로덕트에도 꽤나 큰 영향을 끼칠거라고 생각해요. 지금 선택한 기술스택으로 만들어진 프로덕트가 향후 리팩토링 수준을 넘어 재개발하는 정도가 아니라면 현실적으로 다시 판을 갈아엎고 전체 기술스택을 다시 정하고 재개발을 하기란 생각보다 아주 많이 힘드니까요! 그렇기에 프로덕트 즉, 새로운 앱을 잘 만들기 위해서는 첫 단추를 잘 꿰야할것이고 그 시작이 기술스택을 ..
-
앱 출시 - 몽실(Mong:seal)iOS 2022. 6. 27. 11:16
안녕하세요. 그린입니다🟢 이번 포스팅에서는 제가 "디자이너와 프로그래머의 만남"이라는 뜻의 디프만이라는 동아리에서 11기로 활동하며 런칭한 앱과 기술에 대해 소개해보는 시간을 가져보려고 합니다🙋🏻 간략한 일정 회고 우선 이번 프로젝트는 기획자 3명, 백엔드 3명, iOS 3명으로 진행했어요. 짧은 3~4개월안에 모든 기획과 디자인이 나와야하고 그 바탕으로 개발까지 이뤄져 출시까지 딱 되야하는 아주 촉박한 일정이였어요. 그렇기에 서비스에 대해 MVP모델을 빠르고 라이트하게 설계하고 와이어프레임과 유즈케이스를 도출해내는 과정이 가장 중요했어요. 이 과정을 최대한 빠르게 한달을 넘기지않고 쳐냈습니다. 그리고 바로 개발을 유기적으로 들어가서 일정을 맞출 수 있었습니다. 앱 소개 몽실 앱은 "흐릿했던 꿈을 선명하..
-
WWDC 2022 - 2일차 발표 요약iOS 2022. 6. 9. 08:28
안녕하세요. 그린입니다🟢 오늘은 드디어 WWDC 2022가 진행된지 삼일째에요! 1일차에는 거의 제품 및 OS 소개가 이뤄졌고 2일차에는 드디어 애플 개발자들이 가장 눈여겨볼만한 기술들이 쏟아져 나왔습니다! 이에 이번 포스팅에서는 2일차 발표를 아주 제 입맛대로 요약해보려해요. 정말 정말 간단히 요약하는것이고 세부적인 사항들은 추가로 포스팅 할 예정이니 여기서 디테일하게 왜 나왔고 어떤 기술이 생겨났는지 까지 파악하시기에는 어렵다는점..🙋🏻 또한 제가 관심 있는 분야들만 다뤄 WWDC 2022 - 2일차의 모든 내용이 있는건 아니라는점! 양해 바랍니다🙇🏻 WWDC 2022에서 나온 기술 학습 Swift 5.7 https://www.hackingwithswift.com/articles/249/whats-n..
-
애플 로그인 (Sign In with Apple)iOS 2022. 4. 18. 11:44
안녕하세요. 그린입니다🟢 이번 포스팅에서는 iOS에서 애플 로그인을 연동시키는 학습을 해보겠습니다🙋🏻 애플 로그인? 여러 앱을 보면 소셜 로그인(카카오, 구글, 네이버)등을 연동하여 해당 소셜 계정으로 앱을 로그인 할 수 있도록 지원하고 있습니다. 그런데 2019년에 애플이 동일하게 애플 계정으로 다른 앱을 로그인할 수 있는 기능을 만들었어요. 더군다나 우리의 애플은 다른 소셜 로그인을 붙인다면 꼭 애플 로그인도 붙여야된다고 권장 아닌 권고를 합니다! 그래서 애플 로그인을 꼭 붙여야하는 상황이니 알아보시죠! 애플 로그인 최소 OS 지원 애플 로그인은 iOS에서는 13.0 이상 버전에서만 Sign In With Apple 기능 구현을 사용할 수 있으니 참고해주세요. 그 밑 버전들은 해당 문서를 참고해보시면..