handleOpenURL仅在应用程序已启动时有效,在应用程序关闭时崩溃

时间:2012-01-04 11:41:32

标签: iphone ios xcode url-scheme

我使用网址结构可以使用网址打开我的应用。当接收器应用正在运行时,它工作正常。

问题是,如果应用已关闭。例如,如果我在Safari中输入网址,应用程序会启动并立即崩溃,我会给出:

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

线程1:编程接收信号:“SIGKILL”

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

为什么这样做?

1 个答案:

答案 0 :(得分:1)

我建议两件事:

  1. 在XCode 4中 - 选择Product-> Edit Scheme菜单,然后在info选项卡中设置Launch单选按钮以等待您的应用启动。
  2. 在Enviornment Variables下的参数选项卡中 - 输入值为YES的NSZombieEnabled。
  3. 然后 - 我将从XCode启动应用程序,它会等到您在Safari中输入URL。此时您已进入调试器,您可能可以获得更多信息。

    当我遇到这种情况时,我通常会在某个代码执行路径中未正确初始化一些内存。

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