在我的appDelegate
中,当使用来自邮件应用程序的文件启动应用程序时,我有一些规范。
当我启动我的应用程序时,一切正常。当我通过Mail中的文件启动应用程序时,应用程序崩溃了。不幸的是,我无法调试它,因为我无法模拟launchingOptions
。此刻,我建立并运行,然后断开iPad,关闭我的应用程序,然后去邮件等...有没有办法调试?
Appdelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
IntroViewController *introViewController = (IntroViewController *)self.window.rootViewController;
if (url !=nil) {
if ([url isFileURL]) {
introViewController.fileUrl = url;
}
}
NSLog(@"%@",[url path]);
return YES;
}
IntroViewController
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Hello");
if (fileUrl != nil) {
IntroTableViewController* introTable = (IntroTableViewController *)segue.destinationViewController;
introTable.openedByURL = [fileUrl path];
TabBarController* tabBarController = (TabBarController *)segue.destinationViewController;
UINavigationController* navigationController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:0];
TargetLSController* targetViewController = (TargetLSController *)[[navigationController viewControllers] objectAtIndex:0];
NSString *urlPath = [fileUrl path];
targetViewController.currentFilePath = urlPath;
NSLog(@"%@",urlPath);
}
}
- (void)viewDidAppear:(BOOL)animated
{
[self performSegueWithIdentifier:@"Launch" sender:self];
NSLog(@"%@",fileUrl);
}
答案 0 :(得分:13)
(猜猜你使用Xcode 4.x)
Product -> Edit Scheme...
以及Run <appname>.app
下的第一个标签Launch
}中有Info
个选项。选择Wait for <appname.app>
启动。现在当你执行build&amp;运行(或只是运行),调试器将等待您手动启动应用程序。