1

是否可以在应用程序委托之外注册远程通知?

例如:是否可以在单独的表单中包含以下事件并且仍然能够捕获通知事件?

-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error

-(void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo

我问这个的原因是因为我正在为一个生成 Xcode 项目和 AFAIK 的程序开发一个“扩展”,现在我们不能直接与应用程序委托表单交谈。

我试过让单独的表单响应 UIApplicationDelegate 但它仍然没有成功。

最后,是否必须在完成加载事件中完成远程通知的注册,因为我在该事件之外有以下代码。

-(void) registerForRemoteNotificationsWithBadge:(BOOL)badge Sound:(BOOL)sound Alert:(BOOL)alert{

    UIRemoteNotificationType notif;
    if (badge)
        notif = UIRemoteNotificationTypeBadge;
    if (sound)
        notif = notif | UIRemoteNotificationTypeSound;
    if (alert)
        notif = notif | UIRemoteNotificationTypeAlert;

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: notif];
}

洞察力将不胜感激

4

1 回答 1

1

Urban Airship 的iOS sdk实际上做了类似的事情。UIAppDelegateProxyClass代替默认应用程序委托并将消息转发给代理委托和原始委托

于 2014-03-14T14:48:42.937 回答