다음과 같은 흐름이 있습니다. 첫 번째 앱 실행시 사용자에게 푸시 알림을 허용해야하는 이유를 설명하는보기를 제공합니다. 그런 다음 두 가지 옵션을 사용할 수 있습니다. 건너 뛰기 (이 경우 내가 푸시 알림에 등록하지 않음) 또는 푸시 알림을 수락합니다.이 경우 푸시 알림 팝업을 수락하거나 거절 할 수있는 위치에 표시합니다.iOS - 별도의 UIView에있는 registerForRemoteNotifications 콜백
두 가지 문제점이 있습니다. 우선, 나는 항상 다음 코드는 AppDelegate에에서 푸시 알림을 등록하는 데 사용 :
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)])
{
UIUserNotificationType types = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
}
을 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
방법.
두 개의 버튼으로 표시되는보기에서 정확히 똑같은 코드를 사용하려고 시도하고 있으며 AppDelegate에서 코드를 제거했습니다. 어쨌든이 작업이 가능합니까? AppDelegate에 코드가있는 문제는 처음 시작시 푸시 알림을 수락하거나 거부하라는 메시지를 사용자에게 직접 표시한다는 것입니다.
그러면 사용자가 팝업 알림을 수락하거나 거절하자 마자 알아야 할 문제가 있습니다. 나는 그가 어떤 결정을 내렸는지 신경 쓰지 않고, 다음 번 전망을 제시 할 수 있도록 그가 제작하자마자 바로 알 필요가있다.
나는 다음과 같은 위임 방법을 시도했다 : 나도 허용을 클릭하거나 허용하지 않는 경우
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
및
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
그러나 그들이가 호출되지 않습니다.
어떻게해야할까요?
예. 응용 프로그램의 모든 위치에서 원격 알림 등록을 호출 할 수 있습니다. – ystack
고마워요 @ystack. 콜백에 대해 아십니까? –