Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 안드로이드 FCM
- NotificationService Extension
- silent push
- 스위프트 웹뷰
- 스위프트
- 플러터 뷰 컨트롤러
- 노티피케이션 익스텐션
- 안드로이드 에러
- flutter 회전
- 안드로이드 바로가기
- Flutter NativeView
- FlutterView MethodChannel
- 푸시 데이터 저장
- 앱 백그라운드 푸시 데이터 저장
- native flutter view
- 안드로이드 앨범
- 스위프트 푸시
- 안드로이드 숏컷
- 스위프트 앨범
- Flutter UIKitView MethodChannel
- 앱 꺼졌을 때 푸시 데이터 저장
- Swift flutterviewcontroller
- 스위프트 테이블 뷰 셀
- swift sms
- Swift flutterview
- swift 문자
- 스위프트 UserDefaults
- swift autolayout
- flutter rotate
- 스위프트 카메라
Archives
- Today
- Total
Things take time
[iOS 14] Detect Phone Call => non-intrusive 전화 감지 방법 본문
[개요]
iOS 14 이전의 경우 앱의 화면을 전체를 차지하기 때문에, 백그라운드 이벤트 및 포어그라운드 이벤트를 옵저버로 등록하여 감지할 수 있었으나, 14가 업데이트 되면서 non-intrusive phone call이 되어, 화면을 덮지 않는 것으로 변경되었다.
이에 따라 대응이 필요한 경우 아래와 같이 사용하자.
기본적으로 14 phone call은 backGround는 그대로 돌아가지만, 사운드가 사라지게 되므로 이를 사용하는 것이다.
참고로 해당 옵저버는 사용자가 집접 사운드를 컨트롤할 때는 호출되지 않으므로 그에 대한 걱정은 필요 없다.
[코드]
NotificationCenter.default.addObserver(self, selector: #selector(receiveSoundInterruption), name: NSNotification.Name.AVAudioSessionInterruption, object: nil)
@objc func receiveSoundInterruption(notification: NSNotification){
print("--------- receiveSoundInterruption")
guard let value = (notification.userInfo?[AVAudioSessionInterruptionTypeKey] as? NSNumber)?.uintValue,
let interruptionType = AVAudioSessionInterruptionType(rawValue: value) else {
return
}
switch interruptionType {
case .began:
break
case .ended:
break
}
}
'iOS (기능)' 카테고리의 다른 글
[SWIFT] 기기별 해상도(픽셀) 및 인치 구하기 (0) | 2021.04.06 |
---|---|
[SWIFT] 일정 시간 내 반복 함수를 실행할 때 가장 마지막에 호출한 함수 한 번만 호출하기 (0) | 2020.12.09 |
[SWIFT] FrameWork만들기! (0) | 2020.10.06 |
[SWIFT] 위젯의 상대적인 현재 위치 파악하기 (0) | 2020.09.29 |
[SWIFT] Autolayout 사용하기 - 가로/세로 변경 및 하위뷰 변경 (0) | 2020.09.25 |