gpt4 book ai didi

iphone - 如果您第一次选择“否”,则 PushNotification 会出现问题

转载 作者:行者123 更新时间:2023-12-03 20:10:28 27 4
gpt4 key购买 nike

正如我在该主题的标题中所说,我的应用程序的推送通知存在问题。有2种情况:当应用程序询问您是否需要推送通知并按下“确定”时,它运行良好。

此功能:

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

在调用 registerForRemoteNotificationTypes 时调用:

- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Add registration for remote notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
...
}

但是,当您一开始选择“否”,然后更改设置以接受推送通知时,不会附加任何内容,并且永远不会调用此函数 didRegisterForRemoteNotificationsWithDeviceToken。

请帮帮我,我快疯了!

最佳答案

我看到您在以下位置注册了远程通知:

- (void)applicationDidFinishLaunching:(UIApplication *)application

如果您的应用程序在支持多任务处理的 iOS 设备上运行,那么这可能不是正确的位置。

当您最初冷启动应用程序时,会调用上述方法。此时系统会提示您接受或拒绝推送通知 - 在您的情况下请拒绝。

当您稍后退出应用程序以更改设备范围控制面板中的设置时,应用程序不会退出 - 它只是退出前台应用程序。当您在控制面板中启用推送通知并返回到应用程序时,应用程序不会再次启动,而是从后台移至前台。

您的应用程序代理此时将收到:

- (void) applicationDidBecomeActive:(UIApplication *)application

尝试在那里注册推送通知,而不是使用:

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types

您还可以通过在应用程序的 Info.plist 文件 (UIApplicationExitsOnSuspend) 中设置“应用程序不在后台运行”属性来防止后台运行。

关于iphone - 如果您第一次选择“否”,则 PushNotification 会出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com