gpt4 book ai didi

iOS 推送通知 - 删除并重新安装后无推送

转载 作者:行者123 更新时间:2023-12-01 16:41:43 24 4
gpt4 key购买 nike

我的应用程序中有(有)一个工作推送,该应用程序处于开发阶段,并且可以在应用程序启动后从存储在数据库中的 PHP 脚本发送推送。
但是在 den Message-Center 中禁用和重新启用推送(在 iPhone 上测试)或删除并重新安装(在 iPad 上测试)应用程序后,我无法再次推送到这些设备。我收到了这些设备的新 token ,并从我的数据库中删除了旧 token 。
我的用于接收可删除 token 的 php 脚本(feedback.sandbox.push.apple.com:2196)没有向我返回任何信息,尽管连接似乎很好。
我确实打电话

[[UIApplication sharedApplication]  registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)];
每次应用程序启动时,应用程序总是顺利注册
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)aDeviceToken;
我可以看到它,因为那时我有一个 NSLog,它显示了 token
这是我的代码:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];
}

-(void) application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"Registered device with token %@", deviceToken); //Here i'm writing token into Database if not exists
}

-(void) application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSLog(@"Registering device failed: %@", error);
}
我能做些什么?

最佳答案

每次应用程序完成启动时,您都应该要求推送注册,如下所示:

[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)];

然后检查回调是否返回到这个函数:
 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)aDeviceToken;

或此功能:
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;

如果注册失败,请检查原因并发表评论

关于iOS 推送通知 - 删除并重新安装后无推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23739752/

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