핵심 내용 Movie open API 를 사용해서 URLSession 으로 서버 통신을 진행할 것이다. async/await 를 사용해서 비동기 처리를 동기적으로 사용해보자. WWDC 21 에서 async/await 가 소개되었습니다. Meet async/await in Swift Use async/await with URLSession 세션들의 일부 내용을 가져와서 기존 completionHandler 의 문제가 무엇이었는지, async/await 는 무엇이고 URLSession 과 어떻게 함께 사용하는지 알아봅시다. 기존에 우리는 비동기 작업에서 completion handler 를 사용해왔어요! 아래의 코드를 async/await 를 사용해서 바꾸어 봅시다. (아래는 WWDC21 Use async/..
GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. Uber's cross-platform mobile architecture framework. - GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. github.com 내용 RIBs 에 대해서 알아봤으니 튜토리얼을 따라가 보겠습니다. iOS Tutorial 1 · uber/RIBs Wiki 준비 우선 RIBs 를 설치하고, template 을 설치해 주어야 합니다. Installation for iOS CocoaPods To integrate RIBs into your project add the..
내용 RoundCode 오픈소스 라이브러리를 사용해서 QR code 와 reader 를 만들어보자. https://github.com/aslanyanhaik/RoundCode Installation Cocoapods: pod 'RoundCode' Swift Package Manager: File > Swift Packages > Add Package Dependency https://github.com/aslanyanhaik/RoundCode Usage example import framwork import RoundCode Encoding coder 를 만들고 encode 해봅시다.(해당 라이브러리에서는 encode(_:) 가 QR code 로 인코딩하는 메서드입니다.) let image..
내용 Podcasts New&Noteworthy(최신 및 추천 항목) 아이템을 길게 누르면 등장하는 이것에 대해서 알아보자! 앞서, Menu 구조체를 통해서 위와 비슷한 메뉴창을 구현해보았습니다. SwiftUI) Podcasts 클론코딩 - Menu 구현 그런데, Menu 와 동일한 menu 창을 띄우지만 해당 뷰가 불투명한 배경을 가진채 부각되는 점이 다릅니다. 그래서 HIG 에서 안내해준 Context Menu 라고 판단했습니당! Context Menu 에 대해서 HIG 로 알아보자! 🔥 HIG - Context Menus iOS 13 이후부터 인터페이스를 복잡하게 만들지 않고, onscreen items 와 관련된 추가 기능에 액세스할 수 있도록 할 수 있습니다. Context menus 는 Pee..
GeometryReaderTutorial-iOS Apple Developer 에서 제공하는 SwiftUI 튜토리얼를 진행하면서 GeoametryReader 에 대해서 다음과 같이 설명하는 것을 읽었습니다. GeometryReader 는 무엇일까요? 🧬 To provide relative size information of a parent view to its child views, you can use a GeometryReader. : 상위 뷰의 상대적 크기 정보를 하위 뷰에 제공하려면 GeometryReader 를 사용할 수 있습니다. 왜 사용하나요? 저희가 VStack, HStack, ZStack 과 같은 View Builder 에 하위뷰들을 넣게되면 별도의 설정없이 화면에 자동으로 보여줍니다. 이..
Monad(모나드)] 출처: [위키백과 - 모나드](https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%82%98%EB%93%9C) Monadic(모나딕) 모나드는 여러 영역에서 다양한 뜻을 가지기도 하고 한 문장으로 설명하기 어려운 개념이라서 범주론의 모나드 개념을 차용한 정도로 생각하면 될 것 같습니다. 모나드는 순서가 있는 연산을 처리할 때 자주 활용하는 디자인 패턴입니다. 프로그래밍에서는 모나드의 성질의 대부분을 갖추었다고 하여 모나드를 모나딕(monadic) 이라고 표현합니다. (모나딕 타입 혹은 모나딕 함수) 🧬 모나드 함수 내부에서 발생할 수 있는 사이드이펙트를 결과 집합과 함께 포함하는 타입 함수형 프로그래밍을 이해하는데 모나드는 도움이 될거에요! 결과로 항상 모나..
내용 진행한 프로젝트의 심사 결과 리젝사항들이 있었고, 해결해보자! Guideline 5.1.1) 카메라 권한을 얻기 위한 설명이 충분하지 않다! Giodeline 5.1.2) 앱을 추적하는데 사용되는 데이터를 얻기 위해서 AppTrackingTransparency 프레임워크를 통해서 허가를 받아야한다! 🫥 Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage 리젝 사유 🧬 앱이 카메라 액세스에 대한 사용자의 동의를 요청하지만 목적 문자열에서 카메라 사용을 충분히 설명하지 않는 것으로 나타났습니다. 사용자가 데이터 사용 방법에 대해 정보에 입각한 결정을 내리는 데 도움이 되도록 권한 요청 알림은 앱에서 요청된 정보를 사용하는 방법에 대한 예를 ..
내용 심각한 버그를 릴리즈한 후 발견했다거나! 핵심 기능의 변경이 있다던가! 서버 url 이 변경이 있다던지! 마지막 사례를 지인에게 듣고 아찔해졌던 경험이 있었다.. 그리고 필수로 업데이트를 권장해야 할 순간이 올 수 있다고 생각했습니다. 그래서 본 내용에 대해서 찾아보았습니다. 강제 업데이트 혹은 최신버전을 확인 후 업데이트 하는 기능은 팀에게는 편한 기능이지만, 사용자에게는 업데이트를 하지 않게되면 지속적으로 괴롭힐 수 있고, 이 부분이 오히려 이탈로 이어질 수도 있다는 생각도 들었습니다. 그래도 그정도로 리스크를 가지고도 필요한 순간이 올 때는 오히려 있으면 다행인 기능이 될거라는 생각이 들었습니다. 원리 http://itunes.apple.com/lookup?bundleId=(bundle ID)..
- urlsession
- 서버통신
- WWDC
- watchOS
- Notification
- CloneCoding
- rxswift
- Widget
- MOYA
- IOS
- containerBackground
- OpenSourceLibrary
- Firebase
- Swift
- MVVM
- async/await
- WidgetKit
- UserDefaults
- RxCocoa
- APNS
- Algorithm
- YPImagePicker
- SwiftUI
- projectsetting
- Protocol
- 2022 KAKAO TECH INTERNSHIP
- Objective-C
- configurable widget
- github
- WWDC22
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday