안녕하세요, 앨범 앱을 만들고 있는 Diana 입니다.저번 게시물에서는 앨범 앱을 만들기 위해 접근권한을 설정하고 이미지 메타데이터를 사용하여 PHCachImageManager를 통해 이미지를 가져와 CollectionView에 뿌려주었습니다. 하지만 여기서 몇 가지 문제가 발생했는데요.오늘은 문제를 해결하기 위해 PHCachImageManager의 requestImage()에 대해 알아보려고 합니다. 좀 두서가 없긴 하지만 미래의 저를 위해 쓰는 글이기 때문에 괜찮을..지도? 시작하겠습니다. 이전 포스팅까지 구현한 코드를 실행해보면 발생하는 문제는 크게 세 가지가 있습니다. 첫 번째, 앨범에 사진이 별로 없는 테스트 폰에서는 상관 없지만 수 만개의 이미지를 가진 제 핸드폰에서 코드를 실행하면 이미지 ..
안녕하세요 Diana 입니다.근래에 iPhone의 기본앱인 앨범을 구경하고 있는데 계속 보다보니 생각보다 다양한 기능들이 들어가 있더라구요.그래서 한번 만들어보면 좋겠다 싶어 앨범앱 구현을 시작하게 되었고 그 과정에서 학습하고 겪은 일들을 기록해보고자 합니다. 시작할게요! ✅ Info.plist 앨범 권한 설정앨범 구현에 앞서 우리는 사진을 가져오기 위해 아이폰의 앨범에 접근을 해야 하는데 이때 권한 설정이 필요합니다. 권한설정을 위해 Info.plist에 Privacy - Photo Library Usage Description 와 Privacy - Camera Usage Description 값을 추가해줍니다. 이후 유저에게 권한을 요청하는 창을 구현해야하는데 저는 앨범앱 구현을 위해서는 권한이 ..
안녕하세요. Diana 입니다.회사에서 SwiftUI를 사용하게 되었는데 익숙하지 않은 기술이고 하니 생각보다 어렵더라구요.그래서 한동안은 부지런히 SwiftUI 공부를 하지 않을까 싶네요. 아무튼 오늘은 SwiftUI에서 TextField 구현에 대해 이야기해보려고 합니다.바로 시작할게요~ ✅ TextField 란?공식문서에 따르면 TextField는 수정 가능한 텍스트 인터페이스를 디스플레이 하는 방법입니다.내부를 살펴보면 TextField는 아래와 같이 초기화 할 수 있네요.@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)public init(_ titleKey: LocalizedStringKey, value: Binding, ..
안녕하세요! Diana 입니다.프로젝트를 진행하며 데이터를 저장할 공간이 필요하게 되었는데요.이때 저희는 CoreData를 사용하기로 결정했습니다.따라서 오늘은 CoreData에 대해 알아보려고 합니다. 공식문서에 따르면 우리는 코어데이터를 통해 하나의 디바이스에서 캐시 데이터를 유지하거나 CloudKit을 사용하여 여러 디바이스에서 데이터를 동기화 시킬 수 있다고 합니다. 코어데이터는 데이터 모델 에디터를 통해 데이터 타입과 데이터 간의 관계 그리고 관련된 클래스 정의를 정의할 수 있도록 도와준다고 하네요.여기서 많이들 코어데이터는 DB가 아닙니다! 라고 하는데 전 이부분이 이해 가지 않았습니다. 데이터베이스와 같이 데이터를 save하고 fetching 하는 등의 작업이 이루어지는데 DB가 아니라니..
안녕하세요 Diana 입니다. 오늘은 Tuist 를 통해 KakaoMapsSDK 를 사용할 때의 설정에서 나타나는 문제와 해결방법을 기록 해보려고 합니다.Tuist 는 버전 4, KakaoMapsSDK는 버전 2를 사용합니다. 그럼 시작해볼까요? 우선 Tuist를 설치하고 프로젝트를 생성한 뒤 `tuist edit` 명령어를 통해 Manifest 파일을 실행해줍니다.Manifest 파일은 이미 알고 있다시피 프로젝트와 워크스페이스를 정의하고 실행 프로세스를 명시하는 파일입니다.즉 외부 프레임워크인 KakaoMapsSDK 를 사용하려면 Manifest에 설정을 해줘야겠죠? ✅ Tuist/Package.swift 설정import PackageDescription#if TUIST import Proj..
- Total
- Today
- Yesterday
- asymptoticnotation
- PHCachImageManager
- capsulation
- iphone
- Algorithm
- 코어데이터
- Tuist
- boxedprotocol
- tuist v4
- coredata
- 개발자코테
- 빅세타표기법
- kakaomapssdk
- ViewBuilder
- reusablelist
- UIViewTransitioningDelegate
- 스위프트
- opaquetype
- SwiftUI
- ios
- swift
- Concurrency
- 알고리즘
- BoxedType
- 팁킷
- tipview
- private(set)
- Xcode
- opaque
- boxedprotocoltype
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |