如何在didFinishLaunchingWithOptions中测试UILocalNotification

时间:2013-01-15 10:28:04

标签: objective-c debugging uilocalnotification

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

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

4 个答案:

答案 0 :(得分:13)

如果您将Xcode Scheme设置为手动启动(编辑方案>运行>信息),那么您可以在安排UILocalNotification后停止运行您的应用。

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

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

launchOptions调试application:didFinishLaunchingWithOptions:

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

祝你好运。

答案 1 :(得分: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;

答案 2 :(得分:0)

让你的应用程序在调试模式中连接到xcode的后台运行,然后让一个本地通知到达,然后转到通知中心并点击该通知和didReceiveLocalNotification:功能将被召唤。

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

希望这些信息可以帮助你..

答案 3 :(得分:0)

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

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

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

希望这可能会有所帮助。