알림 설정 가져오기
개시하다
iOS 10에서 알림 설정을 받을 수 있어서 해봤어요.
각 사용자의 알림 설정을 판단하면 어떤 행동을 할 수 있을 것 같다.
※ 다음과 같은 정보를 얻을 수 있습니다.
그러나 iOS 9 이하에서도 알림 허용 여부를 판단할 수 있다.
AppDelegate.swift
func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {
if notificationSettings.types == .none {
print("通知を不許可")
} else {
//.badge / .sound / .alert
print("通知を許可")
}
}
1. 알림 허용 여부
알림 설정에 대한 알림 허용 값을 얻을 수 있습니다.
authorizationStatus
설명
.notDetermined
선택하지 않음
.denied
허용되지 않음
.authorized
허락
값은 다음과 같은 enum으로 정의됩니다.
UNNotificationSettings.h
@available(iOS 10.0, *)
public enum UNAuthorizationStatus : Int {
// The user has not yet made a choice regarding whether the application may post user notifications.
case notDetermined
// The application is not authorized to post user notifications.
case denied
// The application is authorized to post user notifications.
case authorized
}
설정을 가져오는 방법은 다음과 같다.그리고 사용할 때 import UserNotifications를 가져오는 것을 잊지 마세요!
사용법
UNUserNotificationCenter.current().getNotificationSettings { (settings) in
switch settings.authorizationStatus {
case .authorized:
break
case .denied:
break
case .notDetermined:
break
}
}
2. 공지 센터에 표시할지 여부
알림 설정의 알림 센터에 표시 값을 얻을 수 있습니다.
notificationCenterSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
값은 다음과 같은 enum으로 정의됩니다.
UNNotificationSettings.h
@available(iOS 10.0, *)
public enum UNNotificationSetting : Int {
// The application does not support this notification type
case notSupported
// The notification setting is turned off.
case disabled
// The notification setting is turned on.
case enabled
}
설정을 가져오는 방법은 다음과 같다.사용법
UNUserNotificationCenter.current().getNotificationSettings { (settings) in
switch settings.notificationCenterSetting {
case .enabled:
break
case .disabled:
break
case .notSupported:
break
}
}
3. "App 아이콘에 배지 표시" 여부
알림 설정의 "App 아이콘에 배지 표시"값을 얻을 수 있습니다.
badgeSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
4. "잠긴 화면에 표시" 여부
잠긴 화면에 표시됨으로 설정된 알림 값을 받을 수 있습니다.
lockScreenSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
5. 알림 스타일의 종류
알림 설정의 알림 스타일 값을 얻을 수 있습니다.
alertStyle
설명
.none
없음
.banner
플래카드
.alert
경고
값은 다음과 같은 enum으로 정의됩니다.
UNNotificationSettings.h
@available(iOS 10.0, *)
public enum UNAlertStyle : Int {
case none
case banner
case alert
}
설정을 가져오는 방법은 다음과 같다.견본
UNUserNotificationCenter.current().getNotificationSettings { (settings) in
switch settings.alertStyle {
case .none:
break
case .banner:
break
case .alert:
break
}
}
6. 목소리 가부
UNUserNotificationCenter.current().RequestAuthorization에서
옵션에 설정된 값(.sound)을 가져올 수 있습니다.
soundSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
7. 배지의 가부
UNUserNotificationCenter.current().RequestAuthorization에서
옵션에 설정된 값(.badge)을 가져올 수 있습니다.
badgeSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
8. 경보의 가부
UNUserNotificationCenter.current().RequestAuthorization에서
옵션에 설정된 값(.alert)을 가져올 수 있습니다.
alertSetting
설명
.notSupported
지원되지 않음
.disabled
OFF
.enabled
ON
총결산
알림을 OFF로 설정한 사용자의 경우
OS에 표시되는 공지 권한 대화 상자 열기
다시 보여줬으면 좋겠어요.
다음 대화 상자는 다음과 같습니다.
가능하다면 말씀해 주세요.
참고 자료
Reference
이 문제에 관하여(알림 설정 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/eKushida/items/7d456258f8f8d19a2f1d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(알림 설정 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/eKushida/items/7d456258f8f8d19a2f1d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)