7

我想测试当应用程序退出并且用户在通知中心点击通知以启动我的应用程序时我的应用程序的行为。- didFinishLaunchingWithOptions您可以检查密钥,UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];但我该如何调试呢?

如果我开始在 Xcode 中运行应用程序,然后我退出应用程序,它将失去与 Xcode 的连接。

4

4 回答 4

13

如果您将 Xcode 方案设置为手动启动(编辑方案 > 运行 > 信息),那么您可以在安排好UILocalNotification.

然后,如果您再次运行您的应用程序,它不会启动,直到您从模拟器/设备启动它。

然后您可以等待通知触发并单击通知,然后启动您的应用程序(手动!)。这样你就可以UILocalNotificationlaunchOptionsapplication:didFinishLaunchingWithOptions:

请注意,对于调试,您可能希望UILocalNotification在未来安排大约 10 秒左右的日期,调试与时间相关的东西总是很痛苦。

祝你好运。

于 2014-01-23T10:59:55.687 回答
0

让您的应用程序在后台运行,连接到xcode调试模式,并让一个本地通知到达,然后转到通知中心并单击该通知并didReceiveLocalNotification:调用该函数。

应用程序完全关闭时到达本地通知的唯一区别是您必须在 didFinishLaunchingWithOptions 中编写代码(您可以复制粘贴为didReceiveLocalNotification:函数编写的相同代码)并且didReceiveLocalNotification:不会被调用。

希望这些信息对你有帮助..

于 2013-01-15T10:49:16.123 回答
0

didFinishLaunchingWithOptions:在您启动应用程序之前,不会调用该方法。但是关闭您的应用程序不会使您的应用程序失去与 xcode 的连接,因为您的应用程序进入后台。

也许我错过了一些东西,但您实际上可以在您的设备中运行您的应用程序,然后按照您的意愿继续。

didFinishLaunchingWithOptions:如果日志仍然不起作用,您也可以尝试此代码。

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"options" message:[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey] description] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    return YES;
于 2013-01-15T10:37:47.557 回答
0

可能这是一个愚蠢的答案。:)

我通常在那里放一个UIAlertView。并根据本地通知在 alertview 中设置文本。

另一个是退出应用程序。将一些 NSLog 放在applicationDidFinishLaunching中。退出应用程序。转到Xcode->Organiser然后在“设备”选项卡下选择您的设备。选择选项控制台。你可以在那里看到日志。

希望这可能会有所帮助。

于 2013-01-15T12:18:33.147 回答