I'm trying to use this fairly standard line of code in my app:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
But am receiving the follow error:
error: invalid conversion from 'int' to 'UIRemoteNotificationType'
It works if I only use one of the notification types but fails every time if I开发者_运维问答 try and use more than one. Any ideas what I'm doing wrong?
You're probably using Objective-C++, which implicit conversion from int
to an enum is disallowed.
Try to add an explicit cast:
[… registerForRemoteNotificationTypes:
(UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | …)];
You have to cast the result as UIRemoteNotificationType:
(UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)
This way the method got what it is expecting.
Use this: This will solve ur problem.
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationType)(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
精彩评论