신속 - 푸시 알림 배지 번호를 제거하시겠습니까?
아이콘 배지를 빨리 제거하려고 하는데 PFI 설치가 더 이상 안 되는 것 같습니다.이거 어떻게 하는 거지?
앱 배지 아이콘을 0으로 설정하여 "제거"할 수 있습니다.
스위프트 < 3.0
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
스위프트 3.0+
UIApplication.shared.applicationIconBadgeNumber = 0
이 질문은 당신이 언제 그것을 사용할 수 있는지를 보여줍니다: iOS에서 푸시 알림 배지 수를 지우는 방법?
스위프트 4.2
AppDelegate에서 다음 코드를 입력합니다.
func applicationDidBecomeActive(_ application: UIApplication) {
application.applicationIconBadgeNumber = 0
}
스위프트 5
앱 딜러가 옵션을 사용하여 시작 완료
UIApplication.shared.applicationIconBadgeNumber = 0
스위프트 5
AppDelegate doedLaunchingFinishWithOptions에 넣을 수 있지만 앱이 비활성화되어 있고 활성화된 경우 배지가 지워지지 않습니다.
이전 상태와 상관없이 배지를 지우려면 AppDelegate 대신 SceneDelegate에 배지를 넣어야 합니다.
func sceneDidBecomeActive(_ scene: UIScene) {
UIApplication.shared.applicationIconBadgeNumber = 0
}
더 스위프트UI 지향 접근 방식은 변경 사항을 수신하는 것일 수 있습니다.@Environment(\.scenePhase) var scenePhase
근본적인 관점에서그렇다면, 새로운 단계가.active
,세트UIApplication.shared.applicationIconBadgeNumber
로.0
다른 답변들이 논의한 바와 같이.
코드 예제:
@main
struct MRPApp: App {
@Environment(\.scenePhase) var scenePhase
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
var body: some Scene {
WindowGroup {
ContentView()
.onChange(of: scenePhase) { newPhase in
if newPhase == .active {
UIApplication.shared.applicationIconBadgeNumber = 0
}
}
}
}
}
언급URL : https://stackoverflow.com/questions/27769074/swift-remove-push-notification-badge-number
'programing' 카테고리의 다른 글
파이썬의 문자열에서 ANSI 이스케이프 시퀀스를 제거하려면 어떻게 해야 합니까? (0) | 2023.08.28 |
---|---|
사용자 지정 헤더를 사용한 AJAX 파일 다운로드 (0) | 2023.08.28 |
mysql 사용자가 볼륨에 액세스할 수 없는 것 같아 Azure에서 mariadb 컨테이너를 시작할 수 없습니다. (0) | 2023.08.28 |
마리아 사용에 필수적인 도구DB (0) | 2023.08.28 |
위치를 모니터링하고 있습니다.XHR 앱의 기록에 대한 솔루션을 해시하시겠습니까? (0) | 2023.08.28 |