[Swift] UserDefaults 이해하고 Observer 구성하기 : Extention과 app의 통신
·
Swift/이해하기
해당 글에서는 AppGroup으로 구성한 UserDefaults와 Observer 페탄을 구성하는 방법에 대해서 공유합니다. 1) UserDefalts 1. UserDefaults 💡 UserDefaults란? - iOS에서 제공하는 데이터 저장소를 의미하며 앱 내에서 작은 데이터를 저장하고 읽어올때 사용합니다. - Key-Value 형태로 데이터를 저장하며, 데이터 타입은 문자열, 숫자, 불리언 등 기본 데이터 타입뿐만 아니라, 배열, 딕셔너리 등의 객체도 저장할 수 있습니다.AppGroup을 통해서 동일한 개발자 계정으로 배포되는 앱끼리 데이터 공유할 수 있습니다. [ 더 알아보기 ] 💡 DispatchQueue란? - iOS에서 DispatchQueue는 스레드 관리를 위한 클래스 중 하나로, Gr..
[Swift] UIViewController 라이프사이클 이해하기
·
Swift/이해하기
해당 글에서는 UIViewController 내의 라이프사이클에 대해서 이해를 돕기 위해 작성한 글입니다. 1) UIViewController 라이프사이클(Lifecycle) 💡 UIViewController 라이프사이클(Lifecycle)이란? - UIViewController는 iOS 앱에서 화면을 구성하는 핵심적인 역할을 담당합니다. - 이러한 UIViewController가 생성되고 화면에서 제거될 때, 일련의 라이프사이클 메서드가 호출됩니다. 2) 라이프사이클 과정 💡 클래스에서는 UIViewController로 부터 상속을 받아서 라이프 사이클 메서드의 사용이 가능합니다. // 콜론(:)으로 UIViewController로 부터 상속을 받습니다. class MyViewController: UI..
[Swift] 저장소 이해하기 : NotificationCenter, UserDefaults, AppGroup(FileManager)
·
Swift/이해하기
해당 글에서는 Swift에서 데이터를 저장하고 읽을 수 있는 공간을 위해 NotificationCenter, UserDefalts, AppGroup(FileManager)에 대해서 이해를 돕기 위한 목적으로 작성하였습니다 1) NotificationCenter 💡 NotificationCenter 이란? - 앱 내에서 발생한 이벤트를 다른 객체에게 알리기 위해 사용됩니다. 이벤트를 post 하면 해당 이벤트를 구독하고 있는 객체들이 이벤트를 받아 처리할 수 있습니다. - NotificationCenter는 앱이 실행되는 동안 메모리에 상주하므로 앱이 종료되면 저장되지 않습니다. 1. 주요 메서드 메서드 기능 NotificationCenter.default.addObserver(_:selector:name..
[Swift] iOS 앱 상태 이해 및 백그라운드로 이동방법 : 앱 라이프 사이클, 앱 벗어나기
·
Swift/이해하기
해당 글에서는 iOS 앱 상태를 이해하고 백그라운드로 이동하는 기능에 대해서 공유 목적으로 작성한 글입니다. 1) 애플리케이션의 상태 이해하기 : Foreground, Background 상태 설명 사용자 상호작용 알림 수신 이벤트 수신 작업 수행 Foreground - 사용자가 ‘현재 집중’하고 있는 앱 상태 ex) 사용자가 앱을 사용하고 있는 상태 O O O O Active - 화면에 보이지 않지만 여전히 ‘실행 중’인 상태 ex) 사용자가 앱을 종료하지 않은 상태에 다른 앱을 사용중인 경우 ex) 사용자가 앱을 종료하지 않은 상태에서 홈화면에 위치하는 경우 X O O O Inactive - 실행 중이지만 ‘이벤트’를 받을 수 없음 ex) 일시적으로 발생하는 상태로 다른 앱과 상호작용하거나 전화가 왔..
[Swift] 화면 공유 기술 - 3 : 전체 시스템 화면 공유 개발
·
Swift/이해하기
해당 글에서는 화면 공유 기술 중 “System Broadcast Picker 기능”과 관련되어 실제 개발 구축을 하는 과정에 대해 작성하였습니다. 💡 전반적인 화면 공유 기술 및 앱 내에서 화면 공유 기술에 대해서 궁금하시면 이전에 작성한 글을 참고하시면 도움이 됩니다. [Swift] 화면 공유 기술 - 1 : In-App 화면 공유 해당 글에서는 화면 공유 기술 중 “인 앱(In-App) 화면 녹화 및 공유 기능”과 관련되어 이해하고 개발하는 과정에 대해서 작성하였습니다. 1) ReplayKit 정의 및 주요 기술들 💡ReplayKit 이란? - ReplayK adjh54.tistory.com 💡 개발 이전에 구축과정은 필수 전제로 수행이 되어야 합니다. 이전에 작성한 글을 참고하시면 됩니다. [Sw..
[Swift] 화면 공유 기술 - 2 : 전체 시스템 화면 공유 구축
·
Swift/이해하기
해당 글에서는 화면 공유 기술 중 “System Broadcast Picker 기능”과 관련되어 이해하는 과정에 대해서 작성하였습니다. 💡 전반적인 화면 공유 기술 및 앱 내에서 화면 공유 기술에 대해서 궁금하시면 이전에 작성한 글을 참고하시면 도움이 됩니다. [Swift] 화면 공유 기술 - 1 : In-App 화면 공유 해당 글에서는 화면 공유 기술 중 “인 앱(In-App) 화면 녹화 및 공유 기능”과 관련되어 이해하고 개발하는 과정에 대해서 작성하였습니다. 1) ReplayKit 정의 및 주요 기술들 💡ReplayKit 이란? - ReplayK adjh54.tistory.com 1) System Broadcast Picker 및 기술 프로세스 1. System Broadcast Picker 💡 자..
[Swift] 화면 공유 기술 - 1 : In-App 화면 공유
·
Swift/이해하기
해당 글에서는 화면 공유 기술 중 “인 앱(In-App) 화면 녹화 및 공유 기능”과 관련되어 이해하고 개발하는 과정에 대해서 작성하였습니다. 1) ReplayKit 정의 및 주요 기술들 💡ReplayKit 이란? - ReplayKit은 iOS 9 이후 버전에서 사용 가능한 화면 공유를 지원하는 기술입니다. - 이 기능을 사용하면 앱 내에서 사용자가 수행하는 작업을 다른 사용자와 공유할 수 있습니다. 1. Screen Recording(IOS 9 이상) 💡 실행 중인 앱을 녹화하고 미리 보기 컨트롤러에서 사진 및 공유로 저장하는 기술입니다. 💡 RPScreenRecorder, RPPreviewViewController 기능을 주된 기술로 사용합니다. 2. In-App Screen Capture(IOS 1..
[Swift] SwiftUI에서 Storyboard(UIKit) 화면을 불러오는 방법 : UIViewControllerRepresentable
·
Swift/이해하기
해당 글에서는 SwiftUI에서 UIKit 화면을 불러오는 방법에 대해서 공유합니다. 1) SwiftUI 화면 : View 💡 SwiftUI에서 UIKit으로 구성된 화면을 불러오는 과정을 나열한 페이지입니다. 해당 부분에서는 ScreenShareView() 클래스에 주목해야합니다. 해당 클래스는 UIViewControllerRepresentable 프로토콜을 반환받는 클래스로 구성이 되어있습니다. import SwiftUI import Foundation /** * SwiftUI 화면을 로드합니다. */ struct TemplateView: View{ var body: some View { NavigationView{ VStack{ Button(action: { apiSearchRoom() // 입장 ..
[Swift] 서버와 IOS 모바일 API 통신 방법 : URLSession, Alamofire
·
Swift/이해하기
해당 글에서는 서버와 IOS 모바일 간의 API 통신 방법으로 URLSession, Alamofire를 이용한 통신 방법에 대해서 공유합니다. 1) URLSession, Alamofire 비교 구분URLSessionAlamofire라이브러리 설치필요 없음필요함객체 생성 및 설정번거로움간편함에러 처리수동 처리자동 처리JSON 처리수동 처리자동 처리코드 양많음적음 2) URLSession을 이용한 API 통신💡 Swift에서는 URLSession을 이용하여 API를 호출할 수 있습니다. URLSession은 웹 서버와 데이터를 주고받는 작업을 수행하는 객체입니다. 1. URLSession 객체 생성let session = URLSession.shared 2. URL 객체 생성let url = URL(stri..
[Swift] 카메라 & 음성 권한 요청 팝업: info.plist / info - Target
·
Swift/이해하기
해당 글은 SwiftUI 내에서 카메라와 음성에 대한 권한을 요청하는 팝업에 대해서 사용하는 방법에 대해서 공유합니다. 0) 개발 환경 구분 구분 종류 버전 언어 Swift 5.7.2 개발 환경 IOS 16.2 UI Interface SwiftUI 개발 도구 XCode 14.2 1) 설정 환경 이해하기 💡 Xcode 13 버전부터 Info.plist 파일이 사라졌습니다. 파일로 관리하는것이 아닌 Info - Target 탭 내에서 이를 변경할 수 있습니다. 💡Info.plist 란? - Info.plist 파일은 iOS 앱의 설정 정보를 포함하는 파일입니다. 이 파일은 앱의 기본 정보, 권한 및 기능, 앱 아이콘 및 스플래시 화면, 사용자 정의 URL 스키마 등을 지정하는 데 사용됩니다. Info.pli..