Ios 确定是否显示推送通知警报视图

Ios 确定是否显示推送通知警报视图,ios,objective-c,Ios,Objective C,用户第一次访问我的应用程序时,会询问他们是否允许推送通知。同时,我有一些动画正在进行。推送通知问题使这些动画变得模糊 我想知道是否有人知道如何确定是否显示此警报视图。如果我能确定它何时被取消(不管用户选择什么),我可以延迟动画的开始,直到这个事件发生。尽管做了很多研究,我还是不知道这是否可以做到 谢谢你的建议 编辑 谢谢你的建议。我没有解释的一点是,当推送通知发生在AppDelegate中时,动画从初始视图控制器(SplashScreenViewController)启动。我需要一个好方法让这两

用户第一次访问我的应用程序时,会询问他们是否允许推送通知。同时,我有一些动画正在进行。推送通知问题使这些动画变得模糊

我想知道是否有人知道如何确定是否显示此警报视图。如果我能确定它何时被取消(不管用户选择什么),我可以延迟动画的开始,直到这个事件发生。尽管做了很多研究,我还是不知道这是否可以做到

谢谢你的建议

编辑
谢谢你的建议。我没有解释的一点是,当推送通知发生在AppDelegate中时,动画从初始视图控制器(SplashScreenViewController)启动。我需要一个好方法让这两个类在不创建竞争条件的情况下进行通信。

我认为您关注的是一个特定的问题,即警报正在模糊您的动画。然而,您应该尝试解决的问题是:我是否要求进行远程通知注册,如果是,是否已给出

您应该能够使用
UIApplication
uiapplicationelegate
上提供的多种方法来实现这一点。也许是这样的:

@implementation AppDelegate
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
    if([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) {
        // Show animation
    }
    else {
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:<#notification type#>];
    }

    return YES;
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    // Show animation
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    // Show animation
}
@end
@实现AppDelegate
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{
如果([[UIApplication sharedApplication]isRegisteredForRemoteNotifications]){
//播放动画
}
否则{
[[UIApplication sharedApplication]registerForRemoteNotificationTypes:];
}
返回YES;
}
-(无效)应用程序:(UIApplication*)应用程序DIdRegisterForRemotionTificationswithDeviceToken:(NSData*)deviceToken{
//播放动画
}
-(无效)应用程序:(UIApplication*)应用程序未能注册远程通知,错误为:(N错误*)错误{
//播放动画
}
@结束

您可以采取不同的方法。在动画完成之前不要尝试注册通知。我同意你的观点,但是你的建议很棘手,所以我想找一些更简单的。推送通知位于AppDelegate中,我的动画位于初始视图控制器中。我接受了您的建议,并通过使用通知在两个类之间进行复杂的交互来解决这个问题,
NSUserDefaults
NSTimers
。看起来很有效。谢谢嗯,我不知道你为什么需要使用
nsserdefaults
NSTimers
,似乎只要通过
NSNotificationCenter
发布
NSNotification
就能完成任务。但我很高兴它成功了。