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 | 31 |
Tags
- swift sms
- NotificationService Extension
- swift autolayout
- FlutterView MethodChannel
- 스위프트
- silent push
- Swift flutterview
- Swift flutterviewcontroller
- 안드로이드 FCM
- 노티피케이션 익스텐션
- Flutter NativeView
- 스위프트 테이블 뷰 셀
- 스위프트 앨범
- 스위프트 카메라
- 안드로이드 앨범
- Flutter UIKitView MethodChannel
- 플러터 뷰 컨트롤러
- 안드로이드 바로가기
- flutter 회전
- 푸시 데이터 저장
- 앱 꺼졌을 때 푸시 데이터 저장
- 스위프트 푸시
- 스위프트 웹뷰
- flutter rotate
- 앱 백그라운드 푸시 데이터 저장
- 안드로이드 숏컷
- swift 문자
- 스위프트 UserDefaults
- native flutter view
- 안드로이드 에러
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 |