반응형 xcode31 UISheetPresentationController에 대해서 (iOS15이상) iOS 15의 도입으로 애플은 개발자들에게 강력한 새로운 도구를 제공했습니다. 이 컨트롤러를 사용하면 Apple 지도나 Safari와 같은 앱에서 사용자가 경험하는 것처럼 시트 형식으로 뷰 컨트롤러를 프레젠테이션할 수 있습니다. 이번 블로그 포스트에서는 UISheetPresentationController의 기능, 커스터마이징 옵션, 그리고 실용적인 사용 사례에 대해 살펴보겠습니다.UISheetPresentationController란?UISheetPresentationController는 iOS 15에서 도입된 새로운 프레젠테이션 컨트롤러입니다. 이 컨트롤러는 뷰 컨트롤러를 시트 형태로 프레젠테이션하며, 사용자는 이 시트를 상하로 끌어서 원하는 높이로 조절할 수 있습니다. 기본적으로 시트는 화면 하단에.. 2024. 5. 23. Swift Package Manager: Package.swift 간단 구조 정리 아래 다룰 주제 1. 디렉토리 구조와 Package.swift 안의 1:1 매칭 구조 2. Package class안에 들어가는 파라미터 1. 디렉토리 구조와 Package.swift 안의 1:1 매칭 구조 패키지 이름과 1:1 매칭 해당 라이브러리의 구현 타겟 설정 테스트 타겟은 "ExampleTarget"를 테스트하기 위해 의존성을 갖고 있다. 테스트 타겟 설정 2. Package class안에 들어가는 파라미터 name: Swift 패키지의 이름 products: 패키지가 제공하는 제품들의 목록 .library -> name: 라이브러리 이름 .library -> targets: 라이브러리 제품에 묶여 있는 타겟들. targets: 코드 모듈, 테스트 정의 .target -> name: 타겟 이름 .. 2024. 3. 26. [Localization] 다른 나라 언어 대응하기. (현지화) 이번 시간에는 앱에서 여러 국가의 언어를 대응하는 방법을 알아보려고 한다. (Xcode15.2를 기준으로 작성되었다) Xcode 실행 > 왼쪽 네비게이션 화면에서 Cmd + N 또는 File > New > File 선택 1. string 검색 2. String Catalog 선택후 Next 1. 원하는 이름 작성 (일반적으로는 Localizable로 그대로 둔다) 2. Create 버튼 선택 1. 생성된 Localizable 파일을 볼 수 있다. 선택한다. 2. + 버튼을 선택한다 3. 원하는 국가를 선택한다 (해당 예제에서는 ko를 선택함) English를 선택한다. 1. Key를 입력하면 시스템에서 국가에 맞게 해당 텍스트를 보여준다. Default로 설정된 English는 Key와 실제로 앱에 나타.. 2024. 3. 21. Swift5.9 Macro(매크로) 만들어보기 개발 중 반복적으로 사용되는 코드는 유지보수를 어렵게 하고, 새 기능 추가 시 모든 관련 부분을 수정해야 하는 번거로움이 있다. 이러한 반복적인 코드를 '보일러플레이트(Boilerplate)'라 부르며, 개발을 간편하게 하지만 코드 양과 복잡성을 증가시킬 수 있다. Swift5.9에서는 매크로를 통해 위 문제를 효과적으로 해결할 수 있는 방법을 제시했다. Swift 매크로를 사용하면 컴파일 시간에 반복적인 코드를 생성할 수 있어, 앱의 코드베이스를 더 표현적이고 읽기 쉽게 만들 수 있다. 또한 컴파일러를 수정하지 않고 Swift 패키지에 배포할 수 있다. 이 글에서 다룰 주제를 정리 했다. (Xcode15.2 기준) 0. 예시 소개 1. 매크로 만드는 방법과 실행 2. 매크로 동작 방식 3. 매크로 테.. 2024. 3. 18. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step Swift Package Manager를 이용해서 내가 만든 소스코드를 라이브러리 형태로 배포하는 과정을 설명하려고 한다. 여러 유명 라이브러리 (Alamofire, Snapkit, RxSwift, Kingfisher, SDWebImage..)들도 SPM를 이용해서 배포를 하고 있다. 이 글에서는 Xcode15.2를 기준으로 작성 되었다. 1. Launchpad 선택 2. Xcode 실행 1. Xcode가 실행되면 모니터 왼쪽 최상단 File 메뉴를 선택 2. New 메뉴 선택 3. Package 메뉴 선택 1. Multiplatform 메뉴 선택 2. Library 선택 3. Next 선택 1. 패키지 이름을 작성 2. Source Control 생성 유무. Github에 해당 라이브러리를 올려서 배포.. 2024. 3. 15. Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 Swift Package Manager(SPM)는 Swift 언어를 위한 패키지 관리 도구다. 여기서 패키지 관리자란, 프로젝트에서 사용하는 외부 라이브러리나 프레임워크를 편리하게 관리할 수 있게 도와주는 도구를 말한다. 필요한 라이브러리를 쉽게 찾고, 추가하며, 업데이트할 수 있다. CocoaPods, Carthage와 같은 기존 의존성 관리 도구가 있지만, SPM은 편의성과 빌드 속도의 이점을 가져 갈 수 있다. 또한 애플에서 직접 제공하는 1st party 의존성 도구이므로 사용성이 높아지고 있다. Swift Package Manager는 Swift 언어에 내장된 도구로, Xcode와 함께 자연스럽게 통합되어 사용할 수 있다. 참고로, 다른 언어의 패키지 관리 도구로는 JavaScript의 npm,.. 2024. 3. 14. 현재 정착한 mvvm 아키택처 패턴 (for UIKit) MVVM (Model-View-ViewModel)은 UI 개발에 쓰이는 아키텍처 패턴이다. 이 패턴은 개발자가 비즈니스 로직과 사용자 인터페이스를 효율적으로 나눌 수 있게 만들어준다. 주로 세 부분으로 구성되어 있다. Model (모델): 앱의 데이터와 비즈니스 로직을 맡고 있다. 데이터 저장소, 모델, 서비스 등이 여기 포함되며, 데이터 처리 로직을 다룬다. View (뷰): 사용자가 보는 UI 부분이다. 뷰는 사용자의 앱 상호작용을 정의하고, MVVM에서는 뷰가 ViewModel을 통해 데이터를 보여주도록 설계되어 있다. ViewModel (뷰모델): 뷰와 모델 사이의 중간자 역할을 한다. 뷰모델은 뷰에 필요한 데이터와 명령을 제공하고, 뷰는 데이터 바인딩을 통해 모델의 상태 변경을 반영하거나.. 2024. 3. 11. Xcode Source Control (Git) 상태 표시의 의미 Xcode를 이용해서 개발을 하는 상황에서 왼쪽 네비게이션 바(아래 이미지)에서 "M", "A" "↓" 등등.. 표시되는 모습을 볼 수 있다. 어떤 의미를 갖고 있는지 이번시간에 정리하고자 한다. "M" (Modified): "수정됨": 파일이 마지막으로 커밋된 이후 수정되었음을 나타냄. 즉, 파일에 변경사항이 있으나 아직 커밋되지 않은 상태. "A" (Added): "추가됨": 파일이 새롭게 추가되었으나 아직 커밋되지 않았음을 나타냄. 프로젝트에 새 파일을 생성하거나 기존에 추적되지 않던 파일을 추가했을 때 이 상태가 표시됨. "?" (Untracked): 파일이 소스 컨트롤에 의해 추적되지 않고 있음을 의미. 새 파일을 프로젝트에 추가했지만 아직 Git이나 다른 버전 관리 시스템에 추가하지 않은 경우.. 2024. 3. 11. 이전 1 2 3 4 다음 반응형