-
[Swift] Live Activity 앱 종료할 때 끄는 방법iOS/Swift 2023. 9. 18. 09:55
iOS 16.2 이상에서만 동작할 수 있다.
Appdelegate에서 앱 종료시 추적되는 AppLifeCycle인 applicationWillTerminate에서 사용한다.
func applicationWillTerminate(_ application: UIApplication)
앱 종료시에 liveActivity의 end method가 생각하는대로 동작하지 않을 수 있다.
class func stopSessionTimeoutAsync() { let semaphore = DispatchSemaphore(value: 0) Task { for activity in Activity<Attributes>.activities { await activity.end(nil, dismissalPolicy: .immediate) } semaphore.signal() } semaphore.wait() }
Dispatch를 적용하여 테스트해봤을때는 정상작동을 하였다.
apple developer forum이 도움되었던 링크
- https://developer.apple.com/forums/thread/732418'iOS > Swift' 카테고리의 다른 글
[Swift] 구글 스프레드 시트를 DB처럼 활용할 수 있지않을까? (0) 2022.11.03 STATE_ERROR.VALIDATION_ERROR.90778 (0) 2022.03.03 [프로그래머스] 부족한 금액 계산하기 (0) 2021.09.13 [Swift] isEmpty 사용법 (String 의 값이 있는가 판별) (0) 2021.06.14 [Swift] StatusBar 높이 구하기 (0) 2021.04.29