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に応答させようとしましたが、それでも成功しません。

最後に、リモート通知の登録は、did finish loadイベントで行う必要がありますか?そのイベントの外に次のコードがあるためです。

-(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

アーバンエアシップのiOSSDKは、実際には同様のことを行います。UIAppDelegateProxyClassは、デフォルトのアプリケーションデリゲートの代わりになり、代理デリゲートと元のデリゲートの両方にメッセージを転送ます

于 2014-03-14T14:48:42.937 に答える