앱 종료 전에 실행해야하는 내 앱 (Swift에서)에 대한 코드를 작성해야합니다. appDelegate에서 appWillTerminate를 사용할 때 작동하지만 배경이 아닐 때 작동하지만 배경 또는 전경 모두에서 종료 될 때 코드를 실행해야합니다. 내가 어떻게 해 ??백그라운드에서 앱 종료
0
A
답변
0
다음과 같은 전략이 효과적 일 수 있습니다. iOS보다 더 빠른 순수한 Swift 언어 방식을 사용합니다. 모든 클래스가 deinit
메소드를 무시할 수 있습니다. 클래스를 힙에서 해제해야 할 때마다 클래스가 해제되기 전에 de-initializer이 호출됩니다. 이것은 클래스가 범위를 벗어나 더 이상 보유 수를 가지지 않는 경우와 같이 발생할 수 있습니다. 이는 앱이 종료 될 때 AppDelegate
에 대해 발생할 수 있습니다.
0
applicationDidEnterBackground에 beginBackgroundTaskWithName:expirationHandler:
코드를 삽입 할 수 있습니다. 이 방법을 사용하면 응용 프로그램에서 작업을 완료하는 데 필요한 시간을 추가로 확보 할 수 있습니다. 더 많은 문서는 여기 유한 길이 작업 실행 :https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
0
앱이 백그라운드에 있고 실행중인 작업이없는 경우 앱은 일시 중지 상태입니다. 앱이 일시 중지 상태이면 앱 종료는 applicationWillTerminate를 호출하지 않습니다. 그러나 백그라운드 작업 을 시작하거나 백그라운드 모드를 활성화 할 수 있습니다. 예 :
func applicationDidEnterBackground(_ application: UIApplication) {
bgTask = application.beginBackgroundTask(withName: "MyTask") {
application.endBackgroundTask(self.bgTask!)
self.bgTask = UIBackgroundTaskInvalid
}
}
관련 문제
- 1. iOS : 일정 기간이 지난 후에 백그라운드에서 앱 종료 중
- 2. Caliburn 마이크로 앱 종료 앱 종료
- 3. 디버깅 중에 백그라운드에서 앱 제거
- 4. 백그라운드에서 앱 이벤트를 포착하십시오.
- 5. 백그라운드에서 Android 앱 실행
- 6. 백그라운드에서 앱 다시 열기
- 7. 백그라운드에서 Android 앱 실행
- 8. 백그라운드에서 앱 실행 유지하기
- 9. 백그라운드에서 내 앱 실행
- 10. 지역 모니터링 및 앱 종료
- 11. 앱 종료시 백그라운드에서 작업 수행 방법
- 12. Android 앱 강제 종료
- 13. 앱 도움말 (강제 종료)
- 14. Android 앱 강제 종료
- 15. 코로나 강제 종료 앱
- 16. Android 앱 종료
- 17. Android 앱 강제 종료
- 18. 앱 강제 종료 - OutOfMemoryError
- 19. OnBackPressing 앱 종료
- 20. 앱 종료 단절?
- 21. Android - 강제 종료 앱
- 22. 앱 종료 전화 걸림
- 23. 백그라운드에서 iOS 내부 앱 통신
- 24. Blackberry 10 - 백그라운드에서 실행중인 앱
- 25. Android : 백그라운드에서 앱 실행 유지
- 26. API가있는 백그라운드에서 spotify 앱 사용
- 27. 백그라운드에서 iPhone 앱 네트워크 통신
- 28. 백그라운드에서 안드로이드 앱 스택 복원
- 29. 백그라운드에서 앱 최소화 및 실행
- 30. 백그라운드에서 실행되는 Windows phone 앱
어떤 코드를 실행해야합니까? 데이터를 저장하려는 경우 다른 방법으로 수행 할 수 있습니다. –
appWillTerminate : 앱이 백그라운드에 있고 호출 할 방법이없는 경우 호출되지 않습니다. applicationDidEnterBackground에 코드를 작성하는 것이 좋습니다. appWillTerminate를 호출 할 방법이 없습니다. 그러나 다시, 그것은 당신이 성취하고자하는 것을 압도합니다. applicationDidEnterBackground보다 데이터를 저장하는 것이 좋습니다. – Netra