백그라운드 전환시 작업시간 벌기
2021. 11. 3. 13:54ㆍ개발자료/iOS
반응형
⭕ iOS 백그라운 실행 시퀀스
⭕ 백그라운드 변수 선언
@property (nonatomic, assign) UIBackgroundTaskIdentifier bgTask;
⭕ 백그라운드 진입시
- (void)applicationDidEnterBackground:(UIApplication *)application {
self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
}];
}
⭕ 포그라운드 진입시
- (void)applicationWillEnterForeground:(UIApplication *)application {
if (self.bgTask != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
}
}
⭕ 작업이유.
백그라운드 진입시 네트워크 커넥션이 끊어지는 문제가 발생.
UIApplication의 beginBackgroundTaskWithExpirationHandler 을 이용해서 백그라운드시 작업 유지시간 확보해서 네트워크 연결 유지함.
반응형
'개발자료 > iOS' 카테고리의 다른 글
WebView 포커스(Focus) 이동시 키보드 노출 안되는 현상 수정 (0) | 2021.11.25 |
---|---|
iOS 광고식별자 IDFA(Identifier For Advertisers) (0) | 2021.11.18 |
UIView (0) | 2021.10.12 |
[ERROR] validateNewTexture:89: failed assertion `BytesPerRow of a buffer-backed texture with pixelFormat(MTLPixelFormatBGRA8Unorm) must be aligned to 64 bytes, found bytesPerRow(1200)' (0) | 2021.10.01 |
[WebView] Inject (0) | 2021.09.29 |