自定义URL启动时iOS崩溃 - 如何调试包括控制台?

时间:2016-09-20 10:48:45

标签: ios objective-c xcode debugging url-scheme

我已将自定义网址方案添加到我的iOS应用中。因此,我的应用将处理链接myapp://do/something。只要应用程序在后台运行,这就可以正常工作。因此,从应用程序切换到Safari,调用URL,确认在我的应用程序中打开链接并自动切换回我的应用程序正常工作。

问题是,当完全关闭时使用URL时应用程序崩溃。

我认为URL的处理方式存在一些问题。应显示MZFormSheetController

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    // Run some tests and check if URL should be handled
    ...

    // Show ViewController to handle URL
   SomeViewController *someVC = [[SomeViewController alloc] init];
   MZFormSheetController *formSheet = [MZFormSheetController mcDefaultWithViewController:someVC];   

   // Does NOT crash, if the following line is disabled
   [formSheet presentAnimated:true completionHandler:nil];
}

很明显,MZFormSheetController的呈现存在一些问题但我无法验证,因为我无法正确调试此情况

关于如何通过自定义网址调试应用启动还有其他一些问题,答案总是一样的:

  • 使用Xcode 编辑方案选项更改启动设置
  • “自动”更改为“等待可执行文件启动”
  • 在设备或模拟器上运行应用。应用程序不会自动启动
  • 调用自定义网址(例如在Safari中)以启动应用
  • Xcode将调试器附加到应用程序进程

这很好用,调试器是自动附加的,我可以使用断点等。但控制台不起作用。因此,我不知道究竟发生了什么。

当应用程序崩溃时,Xcode会跳转到UIApplicationMainUIApplicationMain内的main.m。它显示了一个简单的SIGABRT提示,但没有详细信息。

如何设法获取有关崩溃来源的任何详细信息?

0 个答案:

没有答案