2015-01-28 2 views
4

enter image description here 다음 방법을 사용하여 푸시 알림 생성을 구현했습니다.ios 8.1에서 장치 토큰이 생성되지 않습니다.

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) 
{ 
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; 
    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
} 
else 
{ 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
    (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; 
} 

장치 토큰이 올바르게 정상적으로 생성되었습니다. 그러나 사운드 및 배지 앱 아이콘을 끄고 알림 스타일을 없음으로 설정하면 (설정 -> 앱 이름 -> 알림) 기기 토큰이 생성되지 않습니다. 이 문제는 iOS 8 기기에서만 발생합니다. iOS 7 기기에서 올바르게 작동합니다. 어느 누구도이를위한 해결책을 제시 할 수 있습니까?

+0

장치 토큰을 얻는 방법을 알려주지 않으면 –

+0

장치 토큰을 사용할 수 없습니다. 이미지를 참조하십시오. –

+0

방법을 사용하여 등록 할 때 오류가 발생합니까? 사용되지 않는 메소드가 앱의 등록 프로세스를 난처하게하는 경우가 발생할 수 있습니다. (iOS7 및 이전 버전을 지원할 경우에도) 레지스터가 올바르게 구성되었는지 확인하십시오. if ([[UIApplication sharedApplication] respondsToSelector : @selector (registerUserNotificationSettings :)] – Lepidopteron

답변

1

이것은 iOS7의 버그입니다. 알림에는 사용자에게 소리/배지/경고라는 3 가지 방법이 있습니다. 소리와 배지를 사용 중지하고 알림 스타일을 없음으로 설정 한 경우 (즉, 알림을 사용 중지 한 경우) 알림을 표시 할 방법이 없습니다.

나는 배터리 최적화라고 생각한다. 사용자에게 알릴 방법이 없다면 왜 그를 원격 알림에 등록해야 할까?