백그라운드(3)
-
[iOS] State Restoration(상태 복원) shouldSaveApplicationState
shouldSaveApplicationState는 iOS의 State Restoration(상태 복원) 기능에서 사용되는 메서드입니다. 이 메서드는 앱이 백그라운드로 전환되거나 종료될 때, 현재 앱의 상태를 저장할지 여부를 결정합니다.이 메서드는 앱이 재시작될 때(예: 메모리 부족으로 종료된 후 다시 실행될 때) 이전 상태를 복원할 수 있도록 필요한 데이터를 저장할지 여부를 개발자가 제어할 수 있게 합니다.메서드 정의UIApplicationDelegate 프로토콜에서 정의된 메서드:func application(_ application: UIApplication, shouldSaveApplicationState coder: NSCoder) -> Bool파라미터application: 호출한 애플리케이션 객..
2025.01.26 -
[iOS] WebView 백그라운드 시 앱 새로고침 이슈
카드사 앱에서 결제를 완료한 후 앱이 처음부터 재시작되는 문제는 앱의 상태 관리와 iOS의 메모리 관리 정책 또는 딥 링크 처리 방식과 관련이 있을 가능성이 높습니다. 아래에서 주요 원인과 해결 방안을 설명하겠습니다.1. 앱의 프로세스가 종료되는 경우iOS는 백그라운드에서 실행 중인 앱을 일정 시간 동안만 유지하며, 메모리가 부족하거나 시스템 리소스가 필요할 경우 앱을 종료시킬 수 있습니다. 카드 앱으로 전환 중 이런 상황이 발생할 수 있습니다.원인카드사 앱 실행 시, iOS가 메모리를 확보하기 위해 웹뷰를 열어둔 앱을 종료.앱이 Background Execution을 지원하지 않는 경우.앱이 오래 백그라운드에 있거나 다른 작업을 수행해 메모리 부족 상황이 발생.해결 방법앱 상태 복원(UIApplicat..
2025.01.25 -
iOS의 동시성(Concurrency)
iOS의 동시성(Concurrency)은 앱이 동시에 여러 작업을 수행하도록 지원하는 기능입니다. 동시성을 사용하면 백그라운드에서 작업을 수행하면서 메인 스레드에서 UI를 원활하게 유지할 수 있습니다. iOS에서 동시성을 구현하는 주요 방식은 다음과 같습니다:1. GCD (Grand Central Dispatch)GCD는 작업을 큐에 제출하고 비동기로 실행되도록 하는 저수준 API입니다.작업 큐 종류Main Queue: UI 업데이트를 위해 사용 (메인 스레드).Global Queues: 백그라운드 작업에 사용 (QoS에 따라 분류).Custom Queues: 특정 작업을 위해 사용자 정의 큐를 생성.// 백그라운드 작업 DispatchQueue.global(qos: .background).async {..
2025.01.24