在iOS启动时注册远程通知?
我正在使用voip后台模式使其在iOS引导时启动。 我将希望在启动时启动的所有代码都放入didFinishLaunchingWithOptions,但如果我尝试注册远程通知,它将不起作用在iOS启动时注册远程通知?,ios,objective-c,push-notification,app-startup,Ios,Objective C,Push Notification,App Startup,我正在使用voip后台模式使其在iOS引导时启动。 我将希望在启动时启动的所有代码都放入didFinishLaunchingWithOptions,但如果我尝试注册远程通知,它将不起作用 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[NSUserDefaults standardUserDefaults] set
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"lastboot"];
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
如果我在standardUserDefaults上读取“lastboot”键,我可以看到应用程序是在系统启动时启动的,但如果我尝试发送通知,则不会附加任何内容
从日志中,我可以看到在启动时调用了didRegisterForRemoteNotificationsWithDeviceToken
如果我手动打开应用程序,远程通知效果很好
我的应用不是针对应用商店的,而是针对非越狱设备的。
有什么建议吗?您需要以交互方式运行应用程序至少一次,以便接受通知权限提示是的,但在重新启动后,它应该可以正常工作。因此,您是说,如果您不将voip标志添加到info.plist,您可以注册并接收推送通知吗?也许我没有解释清楚。如果我手动打开应用程序,我会收到推送通知(带或不带voip标志)。当应用程序在启动时打开时,我不会收到通知。我已经解决了我问题中的模棱两可的问题。你的意思是当应用程序在后台时,你没有收到应用程序通知徽章,而当它手动启动时,你没有收到徽章?