반응형

개발/iOS 6

SPM(Software Package Manager)

SPM(Software Package Manager)은 iOS 및 macOS 개발에서 애플이 제공하는 패키지 관리 도구입니다. SPM을 통해 외부 라이브러리를 프로젝트에 쉽게 추가하고 관리할 수 있습니다. Swift 언어와 함께 개발된 SPM은 Swift와의 높은 호환성을 제공하며, 간단한 설정만으로 외부 종속성을 처리할 수 있는 강력한 도구입니다.주요 특징Swift 통합SPM은 Swift 언어와 긴밀하게 통합되어 있어, Swift 코드 기반의 패키지들을 효율적으로 관리할 수 있습니다.의존성 관리프로젝트에서 사용하는 외부 라이브러리를 선언하고 자동으로 다운로드 및 통합합니다.간단한 설정Package.swift 파일을 통해 프로젝트의 의존성을 선언하며, YAML 또는 XML 같은 복잡한 설정 파일이 필요 ..

개발/iOS 2024.11.20

Equatable

Equatable의 의미1. 단어 뜻Equatable: "동등성을 비교할 수 있는"이라는 뜻을 가진 형용사입니다.Equal(동등한)에서 파생된 말로, 어떤 두 객체가 같은지 확인할 수 있는지 여부를 나타냅니다.2. iOS 개발에서의 의미Equatable은 Swift에서 프로토콜로 제공되며, 객체 간의 동등성을 비교할 수 있도록 합니다. Equatable 프로토콜을 채택하면 객체 또는 값 타입에서 == 연산자와 != 연산자를 구현하거나 사용할 수 있습니다.예를 들어, 두 객체가 같은 데이터 값을 가지는지 판단할 때 유용합니다.3. 사용법Equatable을 채택한 타입은 반드시 == 연산자를 구현해야 합니다.Swift에서는 기본 타입(Int, String, Double 등)이 이미 Equatable을 채택..

개발/iOS 2024.11.20

CI/CD, iOS 개발에서 활용

CI/CD는 Continuous Integration (CI)와 Continuous Delivery/Deployment (CD)의 약자로, 소프트웨어 개발에서 코드를 보다 신속하고 안정적으로 배포하기 위한 일련의 프로세스를 의미합니다. 이를 통해 코드 변경 사항이 더 자주, 신속하게 사용자에게 전달될 수 있습니다.1. CI (Continuous Integration)Continuous Integration은 개발자들이 변경한 코드를 지속적으로 병합하고 테스트하는 프로세스입니다. 주요 특징은 다음과 같습니다:자동화된 빌드 및 테스트: 개발자들이 코드를 자주 병합하므로, CI 서버는 변경 사항을 자동으로 빌드하고 테스트합니다. 이 과정에서 코드의 품질을 빠르게 확인할 수 있습니다.신속한 피드백: 코드가 병합..

개발/iOS 2024.11.13

[iOS] 개발 Tuist란?

Tuist 란?Tuist는 iOS 및 macOS 애플리케이션 개발에서 프로젝트 구성 및 빌드를 자동화하고 효율적으로 관리하기 위한 도구입니다. 특히 Xcode 프로젝트나 워크스페이스 설정을 쉽게 관리할 수 있도록 설계되었습니다. Tuist를 사용하면 프로젝트 설정이 훨씬 간단해지며, 이를 통해 개발자들이 프로젝트 구조를 유지하고 빌드 시스템을 관리하는 데 소요되는 시간을 크게 줄일 수 있습니다.주요 기능은 다음과 같습니다:프로젝트 자동 생성: Xcode 프로젝트나 워크스페이스를 설정하는 것을 코드로 작성하여 자동으로 생성할 수 있습니다. 이를 통해 구성의 일관성을 유지하고, 설정 오류를 줄일 수 있습니다.모듈화 지원: 대규모 프로젝트를 작은 모듈로 나누고 관리하기 쉽게 만들어 줍니다.캐싱: 빌드 캐싱 기..

개발/iOS 2024.11.13

[iOS] RxSwift, Subject와 Relay의 차이, 그리고 Publish와 Behavior의 차이

RxSwift에서 Subject와 Relay의 차이, 그리고 Publish와 Behavior의 차이1. Subject와 Relay의 차이Subject:RxSwift에서 Observable과 Observer의 역할을 동시에 수행하는 객체입니다.PublishSubject, BehaviorSubject, ReplaySubject, AsyncSubject 등의 타입이 있습니다.기본적으로 종료 이벤트(onCompleted 또는 onError)를 발생시킬 수 있습니다.종료 이벤트 이후에는 새로운 구독자가 들어와도 이벤트를 받지 못합니다.Relay:RxCocoa에서 제공되며, 종료 이벤트를 발생시키지 않는 Subject의 변형입니다.일반적으로 UI 관련 작업에 많이 사용됩니다.PublishRelay와 Behavior..

개발/iOS 2024.11.13

[iOS] RxFlow ?

RxFlow는 iOS 및 Swift 개발에서 RxSwift와 함께 사용되는 네비게이션 프레임워크로, 앱의 화면 전환과 흐름 제어를 반응형 프로그래밍 방식으로 관리할 수 있게 해줍니다. RxFlow는 화면의 흐름을 선언적으로 정의하여 복잡한 네비게이션 구조를 명확하게 하고, 유지보수를 용이하게 합니다.주요 개념과 특징Flow와 Step 개념Flow는 특정 화면 흐름이나 네비게이션 트리를 나타내며, 앱의 화면 흐름을 논리적으로 그룹화하는 단위입니다.Step은 각 화면 전환을 정의하는 작은 단위로, 유저가 트리거한 액션이나 이벤트에 따라 새로운 화면으로 이동하는 단계입니다.반응형 네비게이션RxFlow는 RxSwift의 Observable을 통해 유저의 액션이나 특정 조건에 따라 화면 전환을 반응형으로 처리할 ..

개발/iOS 2024.11.13
반응형