패키지 만들기
·
iOS
👋 들어가기 전나만의 오픈소스를 만들어 다른 사람에게 도움이 될만한 경험을 제공하는게 꿈이었다.현재 프로젝트를 하며 작지만 꽤나 귀찮은 불편함을 느꼈는데 이 아이디어를 나의 첫 오픈 소스 패키지로 활용하면 재밌겠다라는 생각이 들었다. 이번 시간에는 패키지를 만들며 겪는 과정과 어려움을 정리해보려한다. 드가자 ~!✊패키지 생성하기패키지 생성은 생각보다 어렵지 않았다.Xcode -> File -> Packag를 순서대로 누르자. 이후 Library를 선택 후 Test 파일 여부와 Packag이름을 써주면.. 짜잔 패키지 만들기 성공!☝️구성말했던 것 처럼 나의 첫 패키지는 굉장히 간단하기 때문에패키지를 만들 때 거치는 과정이 굉장히 간단해서 구성을 살펴보는건 공식 패키지를 보고 배워보자. 우리가 살펴볼 공..
소셜 로그인 구현하기
·
iOS/Framework
👋 들어가기 전 드디어 우리 서비스에 Authorization 기능이 도입된다.iOS 개발이면 처음은 무조건 apple login이다.현재는 swiftUI 기반이지만, uikit에서 다른 절차가 필요하면 추후 따로 구분하자.🍎 애플 로그인1.  Signing & Capabilities  다음과 같이 Capability에 Sign in with Apple을 추가한다. 2.  Auth Manager 객체 설계먼저 AuthManager에 필요한 다양한 변수화 함수를 프로토콜로 정의한다.구글도 함께 테스트할테니 구글 관련된 것도 한꺼번에 정의protocol Authable { func buildAppleAuth() // appleAuth를 위한 build func buildGoogleAuth() ..
PhotoPicker 최적화하기
·
iOS/UIKit
👋 들어가기 전현재 하고있는 프로젝트는 이미지가 굉장히 중요하다.이미즈는 크게 2가지 종류가 있을 수 있다. 첫 번째는 링크 또는 서버에서 제공해주는 이미지고 두 번째는 나의 로컬 갤러리를 통해 불러오는 이미지가 있다. 여기서 애플에서 제공해주는 PHPickerViewController를 사용하면 쉽게 앨범 이미지를불러올 수 있지만 디자이너님의 요구는 커스텀이 가능한 뷰를 원하고 있어 직접 자체 개발을 해야했다. 현재 UI Framework가 SwiftUI로 개발되어 ScrollView와 LazyVGrid를 이용하여 어렵지 않게 UI는 구성했다. 여기서 처음했던 기술적인 도전은 사진을 가져오는 과정을 최대한 modern concurrency를 이용하여나름 최적화와 completion Handler를 c..
Localization
·
iOS
👋 들어가기 전현재 진행중인 프로젝트는 글로벌 서비스를 노리고 있어 Localization이라는중요한 임무를 맡게 되었다. 이전 프로젝트에서는 Strings File을 이용하여 Localization을 진행했는데 Xcode 15부터더 쉽게 도와주는 String Catalog라는 파일을 사용해보려고 한다.✊ String Catalog란?먼저 우리가 사용할 String Catalog이 무엇인지 알아보자. 공식문서에서 String Catalog를 다음과 같이 소개하고 있다.  Use a string catalog to translate text, handle plurals, and vary the text your app displays on specific devices. 현지화를 위한 도구인데 라는 걸 ..
FirebaseCrashlytics 적용하기 with SPM
·
iOS
👋 들어가기 전 2024년 12월 25일 크리스마스 .. 나는 26일 새벽 4시까지 현재 프로젝트를 위해 약 13시간 코딩을했다. 마지막 시점에 비정상 종료를 추적하기 위한 Firebase Crashlytics를 적용하려 했지만 많은 억까를 당했고 현재 26일 오후 4시 기준 드디어 성공해 기록을 남기려 한다..✊ 프로젝트 생성 및 GoogleService-Info.plist 발급 받기프로젝트 생성과 GoogleService-Info 발급은 파이어베이스 공식 홈페이지에 너무 잘나와있으니 홈페이지를 참고하자 ☝️ Xcode 상단에 GoogleService-Info.plist 넣기 위 그림과 같이 최상단에 GoogleService-Info.plist 파일을 위치시킨다.✌️ SPM을 통한 firebase-i..
Priority
·
iOS/UIKit
👋 들어가기 전우리는 지난 포스팅에서 intrinsicContentSize에 대해서 알아봤다. 이번에는 intrinsicContentSize에 대한 우선순위를 지정할 수 있는 방법을 알아보자.✊ 왜 필요할까??먼저 다음 코드를 보자.label1.text = "첫번 째 레이블입니다."label2.text = "두번 째 레이블입니다."label1.backgroundColor = .greenlabel2.backgroundColor = .redview.addSubview(label1)view.addSubview(label2)NSLayoutConstraint.activate([ label1.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadin..