我正在尝试在我的应用中使用这个相当标准的代码行:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
但是我收到了以下错误:
error: invalid conversion from 'int' to 'UIRemoteNotificationType'
如果我只使用其中一种通知类型,但每次尝试使用多个通知类型时都会失败。我有什么想法吗?
答案 0 :(得分:14)
您可能正在使用Objective-C ++,不允许从int
到枚举的隐式转换。
尝试添加显式广播:
[… registerForRemoteNotificationTypes:
(UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | …)];
答案 1 :(得分:4)
您必须将结果转换为UIRemoteNotificationType:
(UIRemoteNotificationType)(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)
这种方法得到了预期的结果。
答案 2 :(得分:1)
使用此:这将解决您的问题。
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationType)(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];