일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios
- tableView
- swiftUI
- combine
- collectionview
- uiscrollview
- 애니메이션
- map
- Clean Code
- 리펙토링
- 리팩토링
- RxCocoa
- HIG
- rxswift
- Observable
- UICollectionView
- MVVM
- swift documentation
- clean architecture
- 스위프트
- SWIFT
- uitableview
- 클린 코드
- Refactoring
- UITextView
- Protocol
- Human interface guide
- 리펙터링
- Xcode
- ribs
- Today
- Total
목록Deeplink (9)
김종권의 iOS 앱 개발 알아가기
URL과 URI 구분 URI(Uniform Resource Identifier): 특정 리소스 식별자 URL(Uniform Resource Location): 특정 리소스 위치 URI의 방법중 하나가 URL URL의 구조 scheme: 사용할 프로토콜 host: 접근할 서버의 호스트 이름 path: 접근할 서버의 경로에 대한 정보 query: 접근할 대상에 전달하는 추가적인 정보 (= 파라미터) Swift에서 URL 접근 let urlString = "https://ios-development.tistory.com/ios?page=1&item=2" guard let url = URL(string: urlString) else { return } // url의 기본 요소 접근 url.absoluteStri..
1. Local Notification (로컬 푸시, 로컬 노티) - 사용 방법 2. Local Notification (로컬 푸시, 로컬 노티) - badge (뱃지) 숫자 처리, 딥링크 처리 * 1번 까지 진행한 노티 코드: https://github.com/JK0369/ExLocalPush1 Badge 숫자 처리 로컬 푸시의 뱃지는 수동으로 처리 // iOS 13 이하나 SceneDelegate가 없는 경우 func applicationDidBecomeActive(_ application: UIApplication) { UIApplication.shared.applicationIconBadgeNumber = 0 } // iOS 13 이상, SceneDelegate가 존재할 때 func sceneWi..
1. DeepLink (딥 링크) - 앱 푸시, APNs (Apple Push Notification service ) 개념 2. DeepLink (딥 링크) - URL Scheme, URLComponents, Foreground, Background, Not Running 기초 개념 3. DeepLink (딥 링크) - FCM(Firebase Cloud Messaging) remote 푸시 사용 방법 4. DeepLink (딥 링크) -Dynamic Link (다이나믹 링크) 사용 방법 (Firebase, 공유하기 기능) 5. DeepLink (딥 링크) - URL Scheme과 Dynamick Link를 이용한 딥 링크 처리방법 cf) Push Notification 처리 관련 메소드 총 정리 글은 ..
1. DeepLink (딥 링크) - 앱 푸시, APNs (Apple Push Notification service ) 개념 2. DeepLink (딥 링크) - URL Scheme, URLComponents, Foreground, Background, Not Running 기초 개념 3. DeepLink (딥 링크) - FCM(Firebase Cloud Messaging) remote 푸시 사용 방법 4. DeepLink (딥 링크) -Dynamic Link (다이나믹 링크) 사용 방법 (Firebase, 공유하기 기능) 5. DeepLink (딥 링크) - URL Scheme과 Dynamick Link를 이용한 딥 링크 처리 방법 cf) Push Notification 처리 관련 메소드 총 정리 글은..
Subject 기본 개념 Observable과 Observer의 성격을 모두 가지고 있는 프로토콜 Observable의 성격: subscribe을 하여 이벤트를 수신할 수 있는 상태 Observer의 성격: subscribe한 대상들을 내부에서 기록하고 있는 상태 (= subscribe한 대상들을 알고 있기 때문에, 여러번 Observable에 이벤트를 emit이 가능) (= multi case) // 프레임워크 없이 직접 구현한 MySubject.swift public final class MySubject { struct Observer { weak var observer: AnyObject? let block: (Value) -> Void } private var observers = [Observ..
원리 LaunchGameWorkflow에서 Rx로 진행 로직 구현 각 Interactor는 -ActionableItem 프로토콜을 구현 RootActionableItem: 로그인을 기다리다가 끝날 경우 로직 수행 LoggedInActionableItem: 바로 game을 시작하도록 로직 수행 url 스킴 등록 URL: ribs-training://launchGame?gameId=ticTacToe info.plist에 등록 CFBundleURLTypes CFBundleURLName com.uber.TicTacToe CFBundleURLSchemes ribs-training UrlHandler AppDelegate에 프로토콜 선언 -> RootInteractor에서 프로토콜 구현 -> RootBuilder에..
Rx를 쓰지 않고 NotificationCenter를 이용한 방법은 여기 참고 NotificationCenter를 쓰는 경우 화면이 background에서 foreground로 변하는 경우 AppDelegate에서 딥링크 처리시, 특정 화면에 event를 주입해주고 알림을 보내는 경우 사용준비 pod file에 아래 정보 입력 후 pod install pod 'RxSwift' pod 'RxCocoa' 기본 구조 (케이스: AppDelegate에서 home에 노티를 보내고 싶은 경우) NotificationCenter를 구별할 수 있는 key 정의 (타입은 NSNotification.Name(_ :String)) // Constants extension NSNotification.Name { static ..
딥링크란? "Deep"한 "Link", 화면속의 특정 부분으로 이동 할 수 있는 링크를 의미 사용자가 "새로운 메세지가 왔습니다"와 같은 push알림을 받고 그 부분을 탭했을 때, 메세지 화면으로 바로 이동 (딥링크가 없었다면 로그인 -> 메인화면 -> 메세지 화면으로 이동) 카카오톡에서 카카오맵의 특정 위치 link를 탭한경우, 카카오맵이 켜지면서 바로 특정 위치로 이동 원리: 서버에서 앱에 URL전송 -> 앱에서 URL을 가지고 문자열을 파싱하여, 특정 화면으로 화면전환 iOS에서 딥링크의 종류 URL Scheme를 이용한 방식 URL Scheme란? iOS는 기본적으로 샌드박스 환경이므로 다른 앱에 정보 전달하기가 어려움 (이 때 Xcode에서 Scheme을 정해두면, 해당 Scheme로 시작하는 ..