【问题标题】:handleOpenURL only works when app is already launched, crashes when app is closedhandleOpenURL 仅在应用程序已启动时有效,在应用程序关闭时崩溃
【发布时间】:2012-01-04 11:41:32
【问题描述】:

我正在使用 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 也不会。

为什么要这样做?

【问题讨论】:

    标签: iphone ios xcode url-scheme


    【解决方案1】:

    我建议两件事:

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

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

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

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

    【讨论】:

    • 问题出在模拟器上。在设备上测试应用程序运行良好。
    猜你喜欢
    • 2013-01-02
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多