본문 바로가기

전체 글100

[Swift] @available, @available(*, unavailable), #available 사용하기 안녕하세요 🎵 Lody 입니다. 오늘은 @available, @available(*, unavailable), #available 에 대해 정리해보겠습니다  @available@available 은 Swift 프로그래밍 언어에서 제공되는 기능입니다. 이 어노테이션은 Swift 언어의 일부로, Swift의 표준 라이브러리에 포함되어 있습니다. 주로 Apple의 플랫폼들, 즉 iOS, macOS, watchOS, tvOS 등에서 사용됩니다. 다양한 버전의 운영체제에서 실행되는 어플리케이션의 호환성을 관리할 때 @available 어노테이션을 활용할 수 있습니다. @available 을 통해 개발자는 특정 클래스, 메서드, 프로퍼티 등이 특정 버전의 OS에서 사용 가능한지 여부를 명시할 수 있습니다. 가령 .. 2024. 1. 3.
[iOS] LaunchScreen 이란? HIG 훑어보기 안녕하세요 🎵 Lody 입니다. 오늘은 LaunchScreen 에 대해서 다뤄보도록 하겠습니다. 앱 개발의 세계에서 첫인상은 매우 중요합니다. 아무리 좋은 기능을 가졌더라 하더라도 사용자가 없다면 무용지물이죠. 사용자가 앱을 시작할 때 가장 먼저 마주치는 화면을 iOS에서는 런치스크린(LaunchScreen) 이라고 하는데요 아래 우측 사진은 네이버 웹소설 앱 시리즈를 실행시켰을때 나타나는 런치스크린의 모습입니다. 런치스크린을 사용하지 않는 경우는 드물지만, 어떤 앱은 굳이 런치 스크린이 필요하지 않을수도 있습니다. 그러나 iOS 앱 가이드라인 HIG 에서는 모든 앱에서 런치 스크린을 통해 사용자 경험을 개선하기를 권장합니다. 그래서 오늘은 HIG 에서 런치스크린에 대해 어떻게 가이드를 하고 있는지 보겠.. 2023. 12. 31.
[iOS] UIViewController - 1. 뷰 컨트롤러 만들기 안녕하세요 🎵 (Mel)Lody 입니다. ~~ 영어 이름을 만들어봤어요. 앞으로는 포스팅 도입부마다 Lody라고 소개하려구요 ㅎㅎ. UIViewController 에 대한 애플공식문서를 차례로 정리해보려고합니다. 목차는 다음과 같이 진행됩니다. 1. 뷰 컨트롤러 만들기 2. 스토리보드와 nib 정보 3. view 관리하기 4. 커스텀 컨테이너에서 자식 뷰 컨트롤러 관리하기 이번 포스팅에서는 뷰 컨트롤러를 만드는 법을 정리하려고 합니다. 스토리 보드를 이용해 뷰 컨트롤러 만들기 우선 Storyboard Interface Builder 기반의 프로젝트를 하나 만들어보겠습니다. 아래는 프로젝트 생성하면 제일 먼저 보이는 Main.storyboard 파일의 Interface Builder 인데요 좌측의 Docu.. 2023. 12. 30.
🌱 새싹(SeSAC) iOS 앱 개발자 데뷔과정 PLUS 도봉 1기 합격 후기 오늘 기다리던 새싹 iOS앱 개발자 데뷔과정 PLUS 도봉 1기 합격자 발표가 났다. 내 배경에 대해서 먼저 적어보면 1. (상경계열에서 편입한) 전공자2. iOS 개발 기간 8개월 + ?3. 나이 - 20대 중반 턱걸이(26세, 만나이 아님) 채용 시장 현황우선 2023년 12월 현시점에서 신입 iOS 개발자 채용 시장은 최악이다. IT 업계 대부분이 최악인 상황과 크로스 플랫폼, 하이브리드 앱의 시장 점유율 상승으로 iOS 네이티브 앱 개발자를 신입으로 뽑는 회사는 거의 바닥 수준이다. 이런 상황속에서도 흔들리지 않고 iOS 앱 개발자로서 나아가길 희망한다면 아래 질문에 명확하게 답변할 수 있어야한다고 생각한다. 1. 꼭 IT 서비스 기업 가야하는가? 일반 대기업(삼성, L.. 2023. 12. 18.
[CoreLocation] 위치 서비스 기능 살펴보기 CLLocationManager CLAuthorizationStatus (사용자 위치 정보 접근 권한 상태를 나타내는 Enum 타입 )앱이 사용자의 위치 정보에 접근할 수 있는지 여부를 나타내는 권한 상태가 세분화 되어있습니다.각 상태별로 의미를 살펴보겠습니다.상태요약설명.notDetermined결정되지 않음사용자가 아직 위치 서비스에 대해 권한을 부여하거나 거부하지 않은 상태입니다. 이 상태일 때, 앱은 requestWhenInUseAuthorization() 또는 requestAlwaysAuthorization() 메서드를 호출하여 사용자에게 권한을 요청할 수 있습니다..restricted제한됨앱이 위치 서비스에 접근할 수 없는 상태입니다. 이는 일반적으로 부모의 제어 또는 기업 정책 등 외부적인 요인에 의해 제한되었을 때 발생합 .. 2023. 12. 17.
[iOS] Firebase Cloud Firestore 사용하기 보호되어 있는 글 입니다. 2023. 12. 17.
[iOS] 세로 모드 고정 설정하기 보호되어 있는 글 입니다. 2023. 12. 3.
[iOS] 다크모드 미지원 설정하기 보호되어 있는 글 입니다. 2023. 12. 3.
[SwiftUI] 왜 SwiftUI에서 View는 구조체(Struct)로 설계되었을까? SwiftUI는 Apple이 발표한 최신 UI 프레임워크로, 선언형 프로그래밍 패러다임을 채택하고 있습니다. SwiftUI에서 모든 뷰(View)는 구조체(Struct)로 선언됩니다. UIKit에서는 Class 기반의 UIViewController로 뷰를 구현했습니다. SwiftUI에서 뷰에 대한 구현에 왜 구조체를 선택했을까요? 이번 글에서는 SwiftUI에서 View가 구조체로 설계된 이유를 성능, 메모리 관리, 상태 관리, 그리고 선언형 프로그래밍 모델 측면에서 생각해보겠습니다.  1. 값 타입의 장점: 명확한 상태 관리SwiftUI는 선언형 프로그래밍을 기반으로 하여 UI 상태를 관리합니다. 이 과정에서 중요한 점은 상태의 변화를 명확하게 관리할 수 있어야 한다는 것입니다. 구조체는 값 타입이기 .. 2023. 12. 3.
[iOS] TCA 아키텍쳐 보호되어 있는 글 입니다. 2023. 11. 30.
[iOS] 버튼 클릭시 Haptic 햅틱 적용하기 보호되어 있는 글 입니다. 2023. 11. 29.
[Swift] JSON응답에서 날짜 문자열을 Date 타입으로 디코딩하기 보호되어 있는 글 입니다. 2023. 11. 28.