UIRemoteNotificationType无效转换

时间:2010-04-06 11:35:36

标签: iphone cocoa-touch

我正在尝试在我的应用中使用这个相当标准的代码行:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

但是我收到了以下错误:

error: invalid conversion from 'int' to 'UIRemoteNotificationType'

如果我只使用其中一种通知类型,但每次尝试使用多个通知类型时都会失败。我有什么想法吗?

3 个答案:

答案 0 :(得分:14)

您可能正在使用Objective-C ++,不允许从int到枚举的隐式转换。

尝试添加显式广播:

[… registerForRemoteNotificationTypes:
     (UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | …)];

答案 1 :(得分:4)

您必须将结果转换为UIRemoteNotificationType:

(UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)

这种方法得到了预期的结果。

答案 2 :(得分:1)

使用此:这将解决您的问题。

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationType)(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];