내용 Firebase 에서 동적링크를 만들면서 맞닥뜨린 문제와 해결을 적어보겠습니다. 🔥 Firebase 동적 링크 동적 링크란, 접속한 플랫폼이 어디인가에 따라 적절한 반응을 하도록 하는 것이다. 사용자가 특정 앱 화면 링크를 공유하거나 해당 링크를 통해서 앱을 설치했을 때 추천인 코드가 입력되는 프로모션과 같은 혜택을 주는데 사용된다. Firebase 동적 링크 | Firebase Documentation](https://firebase.google.com/docs/dynamic-links?hl=ko 🔥 Firebase 및 동적 링크 SDK 설정 iOS에서 동적 링크를 통해서 접근한 경우를 수신해서 대응할 수 있는 방법이다. iOS에서 동적 링크 수신 | Firebase Documentation 🔥 ..
익스텐션이란? 익스텐션(Extension)은 스위프트의 강력한 기능 중 하나로 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있습니다. 👉 기능을 추가하려는 타입을 구현한 소스코드를 알지 못하거나 볼 수 없더라도, 타입만 안다면 기능을 확장할 수 있습니다. 익스텐션 VS 상속 상속은 클래스 타입에서만 가능. 익스텐션은 구조체, 클래스, 열거형, 프로토콜 타입에서 가능. 상속은 특정 타입을 물려받아 새로운 타입을 정의하고 추가기능을 구현하는 수직 확장 익스텐션은 기존의 타입에 기능을 추가하는 수평 확장 원래 타입을 정의한 소스코드에 기능을 추가하는 방법도 있겠지만, 외부 라이브러리나 프레임워크를 가져다 사용했다면 원본 코드를 수정하지 못한다. 이때 사용 가능. 익스텐션이 타입에 추가할..
내용 유니버셜 링크란? 유니버셜 링크 적용하기 우선, 딥링크에 대해서 알아보자. 딥링크란? 특정 주소 혹은 값을 입력하면 앱이 실행되거나 앱 내 특정 화면으로 이동시키는 기능을 수행합니다. 딥링크는 크게 3가지가 있습니다. URI Scheme 방식: 앱에 URI Scheme 값을 등록하여 딥링크 사용. App Link: Android 제공 - 도메인 주소를 이용한 딥링크 사용 Universal Link: iOS 제공 - 도메인 주소를 이용한 딥링크 사용 유니버셜 링크란? 유니버셜 링크를 사용하면 앱이 설치되어 있는 사용자가 링크를 누르면 앱으로 이동 앱이 없다면 앱스토어로 이동(앱스토어로 보내는 것은 iOS 에서 처리해주는 것이 아닌 URL 의 파라미터로 구현되는 점이다.) 개발자문서로 유니버셜 링크를 ..
내용 Custom Moya Plugin 을 활용해서 Refresh Token 으로 Access Token 갱신하기 서버통신 과정 1️⃣ 모든 서버통신 + 액세스 토큰 2️⃣ 액세스 토큰 만료 o (40x status code) 3️⃣ didReceive 에서 서버통신 (액세스 토큰 + 리프레쉬 토큰) 바디에 담아 보내기 -> 3-1 리프레쉬 토큰 만료 x (200 status code) -> 액세스 토큰, 리프레쉬 토큰 갱신 -> 3-2 리프레쉬 토큰 만료 o (40x status code) 4️⃣ 리프레쉬 토큰, 액세스토큰 삭제 및 로그인 화면으로 보내기 📡 Plugin 커스텀해서 해결하기 Plugins Moya plugins are used to modify requests and responses ..
내용 서버에서 270*270, 360*360, 720*720 으로 리사이징된 이미지를 URL 을 가공해서 가져오기 서버로 720*720 이하는 원본, 초과는 720*720 으로 리사이징해서 업로드하기 서버에서 270*270, 720*720 으로 리사이징된 이미지를 URL 을 가공해서 가져오기 Kingfisher 를 사용해서 UIImageView 를 extension 해서 사용 import UIKit import Kingfisher @frozen enum ResizingImagetype { case small case medium case large } extension UIImageView { /// URL 주소를 가지고 이미지 다운로드. /// /// type: 리사이징된 이미지를 설정할 수 있음. /..
내용 UITableView 에서 헤더를 사용하니까 스크롤 시 고정되어 원하는 UI 가 구현되지 않았다. 문제 UITableView.Style 이 grouped 가 아닌 plain 일때 스크롤하면 헤더가 고정된다고 해요. 다음과 같이 변경해주면됩니다. // 최초 선언시 이니셜라이저를 통해서 접근 가능. private let tableView = UITableView(frame: .zero, style: .grouped) 라고할뻔.. ㅋㅋ plain 과 grouped 의 차이점이 들어나게되요! 개발자문서를 잠깐 볼까요 grouped 스타일 속성은 고유한 행 그룹이 있는 섹션을 가집니다. 그래서 아래와 같이 적용됩니다. UITableView.Style 은 다음과 같다고 합니다. 사진 출처: [iOS - swi..
Notification Service Extension 을 활용해서 payload 의 값을 가공하는 과정이고 개발자문서는 아래를 참고 하면 됩니다. Apple Developer Documentation 내용 Notification Service Extension 으로 전달된 payload 의 정보를 가공해보자! 궁극적으로, payload 의 body 값인 URL 을 통해서 사진을 다운로드 받아 notification 에 보여주자! 순서 1️⃣ Notification Service Extension 추가 2️⃣ Notification Service Extension 에서 페이로드 컨텐츠 수정 📬 번외) FirebaseMessaging 사용해서 이미지를 자동으로 채워보자 📬 Notification Servi..
내용 인앱에서 웹 연결 화면전환 다루기 🔌 SFSafariViewController 웹 브라우징을 위한 visible standard interface 를 제공하는 객체 Overview Reader, AutoFill, Fraudulent Website Detection 및 컨텐츠 차단과 같은 Safari 기능이 포함되어있습니다. iOS 9 부터는 쿠키 및 기타 웹사이트 데이터를 사파리와 공유합니다. SFSafariViewController 와의 활동과 상호작용은 앱에 보여지지 않습니다. (앱에서 AutoFill data, browsing history, or website data 는 접근할 수 없습니다.) 그래서 앱과 Safari 간에 데이터를 보호할 필요가 없습니다. 원한다면 iOS 11 이상에서 A..
- 2022 KAKAO TECH INTERNSHIP
- projectsetting
- Notification
- UserDefaults
- MOYA
- 서버통신
- Algorithm
- WWDC
- async/await
- Widget
- WidgetKit
- WWDC22
- OpenSourceLibrary
- watchOS
- RxCocoa
- Objective-C
- YPImagePicker
- configurable widget
- APNS
- Swift
- CloneCoding
- Firebase
- Protocol
- github
- urlsession
- containerBackground
- IOS
- rxswift
- MVVM
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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