我正在使用推送通知。我通读了Apple的编程指南,以了解在发出远程或本地通知的情况下,将调用application:didFinishLaunchingWithOptions并将有效负载保存在launchOptions中。如果有通知,我可以从那里响应推送。我正在测试两个设备上的推送。第一个发出推送,第二个收到推送。我在两台设备上都运行了该应用程序,第二台设备保持打开状态,第二台设备退出到主屏幕并关闭了手机以等待通知(尽管我没有在xcode上关闭该应用程序)。我发出了一个推送,并且在接收器设备上收到了推送,但是使用NSLog时,打开推送时似乎没有调用application:didFinishLaunchWithOptions,并且在应用程序首次启动时仅调用了一次。我没有提供代码,因为除了可以正常工作的推送之外,没有太多可用来测试的代码了。有什么事吗是在后台运行时响应打开的通知的正确方法吗?
最佳答案
如果您只是通过按下主屏幕按钮关闭应用程序,则该应用程序实际上不会再次启动,因此不会再次调用application:didFinishLaunchWithOptions
取而代之的是- (void)applicationWillEnterForeground:(UIApplication *)application
和- (void)applicationDidBecomeActive:(UIApplication *)application
,因此我建议您处理applicationDidBecomeActive
中所需的任何事情,因为打开应用程序并返回到前台时会调用该方法。
关于ios - application:didFinishLaunchingWithOptions没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554629/