현재 나의 appDelegate
didFinishLaunchingWithOptions
에서 나는 다음과 같은 메소드를 호출하고있어에서 :AppDelegate 이외의 장소에서 푸시 메시지를 수신하기 위해 사용자의 ios 장치를 등록하려면 어떻게해야합니까?
let notificationTypes: UIUserNotificationType = [UIUserNotificationType.alert, UIUserNotificationType.badge, UIUserNotificationType.sound]
let pushNotificationSettings = UIUserNotificationSettings(types: notificationTypes, categories: nil)
application.registerUserNotificationSettings(pushNotificationSettings)
application.registerForRemoteNotifications()
나는 또한 다음과 같은 방법이 AppDelegate
에서 구현 한 :
didRegisterForRemoteNotificationsWithDeviceToken
didFailToRegisterForRemoteNotificationsWithError
didReceiveRemoteNotification
는 사용자가 처음 내 응용 프로그램을 시작하면, 그는 푸시 메시지 수신에 대한 권한을 요청하는 팝업을 봅니다.
사용자가 설정 메뉴에서 특정 옵션을 수동으로 선택하기 전까지이 팝업 표시를 연기하고 싶습니다. ,
func messagesStateChanged(_ sender: UISwitch){
if(sender.isOn){
defaults.set("true", forKey: "popupMessages")
defaults.synchronize()
} else {
defaults.set("false", forKey: "popupMessages")
defaults.synchronize()
}
}
설정 메뉴에 애플 대리자에서 처리 push
을 이동하는 방법이 있나요 : 설정 메뉴에서
은 내가 UISwitch
을 가지고 있고 그것의 상태를 확인하고 있습니다 때마다 사용자가 변경 사용자가 앱을 시작하자마자 팝업을 보지 못하게하고 UISwitch
을 선택하면 또한 - 미래에 작동하고 모든 push
기능을 설정 클래스로 옮기면 잘 작동할까요?
왜 승인되고 표준화 된 디자인 패턴을 악화시키고 싶습니까? – vadian