我想测试我的应用在应用退出时的行为,并且用户点按通知中心的通知,以便启动我的应用。在- didFinishLaunchingWithOptions
中,您可以检查密钥UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
,但我该如何调试呢?
如果我开始在Xcode中运行应用程序,那么我退出应用程序将失去与Xcode的连接。
答案 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->管理器。然后在设备标签下选择您的设备。选择控制台选项。你可以在那里看到日志。
希望这可能会有所帮助。