2014-09-27 4 views
3

내 앱에서 푸시 서비스로 easyapns를 사용했습니다. 푸쉬는 iOS 8에서 잘 작동하지만 클라이언트는 푸시가 iPhone 6에서 작동하지 않는다고 말하고 있습니다. 확인할 iPhone 6이 없습니다. 다른 누구도이 같은 문제에 직면하게 될 것입니다. 무엇이 잘못 될 수 있습니까?iPhone 6에서 푸시가 작동하지 않습니다.

+0

시스템 설정에서 앱에 대한 알림을 사용하지 않도록 설정했을 수 있습니까? – Greg

+0

아니요, 알림은 여전히 ​​푸시되지 않습니다. 아이폰 5s ios8 장치에서 작동합니다. – va05

+0

하드웨어 문제가 아닌 소프트웨어 문제로 들립니다. 앱이 알림에 제대로 등록하지 않았거나 실수로 사용자가 알림을 사용하도록 설정하지 않았으며 앱이 이후 설정에서 사용하도록 설정된 알림에 적절하게 응답하지 않았을 수 있습니다. – Greg

답변

2

다음은 iOS 8 및 iPHONE 6/6 +에서 작동하는 기능입니다. iOS 8은 푸시 알림 등록 작동 방식을 변경했습니다. 다음 코드는 iOS 8 및 iOS 8 이전 기기에서 푸시 알림에 기기가 등록되도록합니다.

장소 didFinishLaunchingWithOptions에 appDelegate.m이 코드는 :

또한
#ifdef __IPHONE_8_0 
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) { 
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil]; 
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; 
} else { 
    UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes]; 
} 
#else 

UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; 
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes]; 

#endif 

,

#ifdef __IPHONE_8_0 
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings 
{ 
    [application registerForRemoteNotifications]; 
} 
#endif 

나 그 작동 방법을 알려 당신의 appDelegate.m에 새로운 방법으로이 문제를 추가 할 수 있습니다.

+0

나는이 일을 alreday 했어. 푸시는 아이폰 6 장치를 제외하고 이오스 8에서 일하고있다. – va05

+0

ios 5 용으로 빌드 된 응용 프로그램을 ios 9로 업그레이드하는 중입니다.이 코드는 필요한 것입니다! – UberJames