7

在我appDelegate的 IE 邮件应用程序中使用文件启动应用程序时,我有一些规范。

当我启动我的应用程序时,一切正常。当我通过邮件中的文件启动应用程序时,应用程序崩溃。不幸的是,我无法调试它,因为我无法模拟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;
}

介绍视图控制器

- (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);
}
4

1 回答 1

19

(猜你使用 Xcode 4.x)

Product -> Edit Scheme...并且在第一个选项卡 ( )中Run <appname>.app有选项。选择启动`。现在,当您执行构建和运行(或只是运行)时,调试器将等待您手动启动应用程序。LaunchInfoWait for <appname.app>

于 2012-01-04T11:44:01.900 回答