SnapKit은 Autolayout 설정을 간결하고, 편리하게 사용할 수 있게 해주는 프레임워크입니다. iOS 8.0+, Xcode 9.0+, Swift 4.0+ 에서 사용 가능하고, CocoaPods, Carthage, Swift Package Manager를 지원합니다. GitHub - SnapKit/SnapKit: A Swift Autolayout DSL for iOS & OS X A Swift Autolayout DSL for iOS & OS X. Contribute to SnapKit/SnapKit development by creating an account on GitHub. github.com 매뉴얼도 잘 제공되어 있습니다. (SnapKit Docs: https://snapkit.githu..
Then 라이브러리는 인스턴스 초기화시 클로저를 통해 깔끔한 작성을 할 수 있게 도와주는 라이브러리입니다. GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers ✨ Super sweet syntactic sugar for Swift initializers - GitHub - devxoul/Then: ✨ Super sweet syntactic sugar for Swift initializers github.com Github의 ReadMe만 봐도 어떤 용도인지 감이 잘 옵니다. Then은 CocoaPod, Swift Package Manager를 통한 Dependency 설정이 가능합니다. 기존의 인스턴스 초기화 과정은 //..
앱에서 푸시 메세지를 띄우는 방법은 1. 푸시 서버로부터 받는 방법 2. 로컬 푸시메세지로 받는 방법이 있습니다. 그 중에 로컬에서 띄운 푸시메세지를 UserNotification이라고 합니다. UserNotification을 띄우려면 UNUserNotificationCenter에 UserNotificationRequest를 추가해야하는데, UserNotificationRequest는 id, content, trigger 세가지가 필요합니다. id는 푸시메세지 고유값으로 해당 푸시메세지를 취소시키고 싶을 때 필요합니다. content는 title, subTitle, body, sound, badge, launchImageName 등의 푸시메세지의 실제 내용입니다. trigger는 푸시메세지를 띄울 조건(..
우리는 어떤 값을 저장해놓았다가, 앱을 재실행했을 때도 이를 꺼내어 해당 값에 따라서 동작하도록 하고 싶을 때가 있습니다. 방법은 여러가지가 있겠지만, 간단한 값들을 저장해놓을 때 UserDefaults라는 수단을 많이 사용합니다. 매우 간단한 방법으로 값을 저장하고 불러올 수 있기 때문입니다. 이렇게 저장을 해놓으면, UserDefaults.standard.set("Honey Butter", forKey: "almond") UserDefaults.standard.synchronize() 이렇게 불러와서 쓰면 됩니다. if let almond = UserDefaults.standard.value(forKey: "almond") { print("Almond: ", almond) // Almond: Hone..
Alamofire는 swift기반의 네트워킹을 도와주는 라이브러리입니다. URLSession을 기반으로 하는 라이브러리로, 네트워킹 작업을 단순화시켜주고 네트워킹을 위한 다양한 메서드와 JSON파싱 등을 제공해줍니다. - 연결가능한 Request, Response메서드를 제공 - Combine을 지원 - URL, JSON형태의 매개변수 인코딩을 지원 - 파일, 데이터, 스트림, MultipartForm 데이터 등의 업로드 - Request, Resume Data로 파일 다운로드 - URLCredential로 인증 - HTTPResponse 검증 - Upload, Download 진행률 클로저 - cURL Command Output - 동적으로 Request를 조정 및 재시도 - TLS인증서 및 공개키 고..
SwiftUI가 나온 지 3년 정도 되었고, 최근 WWDC2022에서는 MacOS에서도 자연스럽게 쓰이며 모든 애플 플랫폼을 커버할 수 있을 만큼 발전해왔습니다. 최근에는 SwiftUI전용 Charts프레임워크도 발표했고, 점차 실무 앱 개발에서도 도입해도 될 만큼 변화해가고 있는데요. 아직은 SwiftUI보다는 스토리보드를 많이 사용하고 있고, 스토리보드에서도 SwiftUI처럼 실시간(?)으로 코드 구현부를 스토리보드에 반영할 수 있는 방법이 있어 이를 정리해보는 포스팅을 작성해봅니다(스토리보드야 파이팅). 바로 @IBInspectable, @IBDesignable인데요. 이 Attribute들을 사용하지 않고 스토리보드를 작성했을 때 문제점이 발생합니다. 스토리보드에서는 View들의 디테일한 부분까지..
iOS의 앱에서 타 앱을 호출하는 방법으로 URLScheme(이하 scheme, 혹은 스키마)가 있습니다. 앱에서는 project파일의 target->Info 에서 URL Types 를 설정하여 외부에서 앱을 호출할 수 있는 스키마를 설정해줄 수 있습니다. +버튼을 누르면 여러개를 설정할 수도 있고, 어떤 스키마로 호출되는지에 따라 다른 동작을 하도록 구현할 수 있게 됩니다. (하나의 스키마로도 추가로 프로퍼티를 받아서 동작에 분기를 시킬 수 있기 때문에 가급적 하나의 스키마로 처리하는게 더 좋습니다) 그러면 외부 앱에서 해당앱을 호출할 수 있게 되는데요. 호출하는 쪽에서는 앱의 Info.plist에 LSApplicationQueriesSchemes (Array)항목에 호출할 앱의 스키마를 작성해줍니다...