Coding/스위프트 iOS 코딩 알고리즘 2021. 4. 17. 20:39
iPhone 개발을 하면 요즘은 거의 다크 모드를 기본적으로 넣고 있습니다. 하지만 이전에 개발된 앱들은 다크 모드를 지원하지 않는 경우가 많죠. 처음 설계될 때부터 다크 모드를 고려하지 않아서 색상이나 기본 구조를 다시 설계해야 합니다. 시스템 색상을 이용하면 간단하게 구현이 가능하지만 다크 모드를 지원하지 않는 iOS 13 이하의 단말에서는 시스템 컬러도 다크 모드를 설정할 수 없죠. 그래서 보통 테마를 구조적으로 만들어서 다크 모드 비슷하게 지원을 하곤 했습니다. 이번에 라이브러리를 만들면서 도저히 시간상 다크 모드는 적용이 어려울 것 같아서 우선 라이트 모드를 정리해놓고 다크 모드로 구현하기로 했습니다. 아주 간단하게 다크 모드를 아예 무시하고 프로젝트를 설정하는 법을 알아보겠습니다. iOS Us..
더 읽기
Coding/스위프트 iOS 코딩 알고리즘 2021. 3. 18. 00:22
Traceback (most recent call last): 5: from /usr/local/bin/pod:23:in `' 4: from /usr/local/bin/pod:23:in `load' 3: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in `' 2: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:49:in `run' 1: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:140:in `verify_minimum_git_version!' /Libra..
Coding/스위프트 UI 코딩 알고리즘 2021. 2. 6. 18:14
Swift UI에서는 TableView는 어떻게 표현하는지 궁금해서 검색해보니 실제 테이블 뷰가 아니라 List라는 것을 사용하더군요. 사용법은 아주 간단합니다. 오히려 테이블 뷰를 사용하는게 민망할 정도로 쉽더군요. 테이블 뷰 델리게이터 이런거 필요 없습니다. 프로젝트 생성 ▼ 1. PlayList 라는 프로젝트를 하나 만듭니다. Swift UI, SwiftUI App, 언어는 Swift로 설정합니다. ▼ 2. 기존의 있는 기본 텍스트를 지우고 List() 를 하나 추가합니다. 정적으로 아이템을 계속 추가할 수 있습니다. 마치 테이블 뷰에 Static Cell 같습니다. List(data.tracks) { track in Text("1") Text("2") Text("3") Text("4") Text(..
Coding/스위프트 iOS 코딩 알고리즘 2021. 2. 6. 17:48
스위프트 패키지 매니저 툴로 나온지는 꽤 되었는데 사람들이 잘 쓰지 않길래 저도 안 쓰다가 최근 Swift UI를 공부하면서 관심이 생겨 보고 있습니다. 기존에는 주로 CocoaPods를 이용해서 작업을 했고 한 3년 전에 Carthage를 이용해서 프로젝트를 진행한 경험이 있습니다. 사실상 CocoaPods 보다는 Carthage가 더 좋은 방식이긴 하지만 코코아 팟스가 설정이 워낙 편하기 때문에 그냥 CocoaPods를 쓰고 있습니다. Xcode에 기본으로 탑재되어 있는 만큼 Swift Package Manager도 한 번 사용해 봤습니다. 사용법은 아주 간단합니다. ▼ 1. Xcode에서 프로젝트를 선택합니다. 그리고 Targets 에서 라이브러리를 추가할 타깃을 선택합니다. 그리고 Framewor..
Coding/스위프트 iOS 코딩 알고리즘 2020. 10. 21. 21:32
onevcat/Kingfisher A lightweight, pure-Swift library for downloading and caching images from the web. - onevcat/Kingfisher github.com 고급 사용법 다음은 다운로드 핸들러를 포함한 이미지 다운로드 예시입니다. let iv = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) let url = URL(string: "https://raw.githubusercontent.com/onevcat/Kingfisher/master/images/logo.png") let processor = DownsamplingImageProcessor(size: ..