0

我正在使用 URL Schemes 来使用 url 打开我的应用程序。接收器应用程序运行时工作正常。

然而,问题是应用程序是否关闭。例如,如果我在 Safari 中输入 url,应用程序会启动并立即崩溃,我会得到:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

线程1:程序收到信号:“SIGKILL”

我在 didFinishLaunchingWithOptions 中放置了一个 NSLog,但看起来它永远不会被触发,handleOpenURL 也不会。

为什么这样做?

4

1 回答 1

1

我建议两件事:

  1. 在 XCode 4 中 - 选择 Product->Edit Scheme 菜单,然后在 info 选项卡中设置 Launch 单选按钮以等待您的应用程序启动。
  2. 在环境变量下的参数选项卡中 - 输入值为 YES 的 NSZombieEnabled。

然后 - 我会从 XCode 启动应用程序,它会等到您在 Safari 中输入 URL。此时您在调试器中,您可能可以获得更多信息。

当这种情况发生在我身上时,通常是一些我没有在其中一个代码执行路径中正确初始化的内存问题。

最后——如果这发生在设备上(不仅仅是在模拟器中),有时组织者的控制台中会显示更多信息。

于 2012-01-04T12:27:43.307 回答