【问题标题】:iOS app crashes when first opened by URL Scheme首次通过 URL Scheme 打开 iOS 应用程序时崩溃
【发布时间】:2024-01-10 12:22:02
【问题描述】:

我的应用处理 URL 方案。当它已经在运行并被另一个应用程序调用时,它的行为正确且没有问题。但是,当它完全关闭时(如在非后台模式下),并且另一个应用程序调用它时,它会立即崩溃。

我已经设置了“等待启动可执行文件”选项,所以我可以调试application:willFinishLaunchingWithOptions:,但它似乎没有被调用。我也实现了-application:openURL:sourceApplication:annotation:,但它似乎也没有被调用。

这是崩溃:

libsystem_kernel.dylib`__pthread_kill:
0x10a79e278:  movl   $0x2000148, %eax
0x10a79e27d:  movq   %rcx, %r10
0x10a79e280:  syscall 
0x10a79e282:  jae    0x10a79e28c               ; __pthread_kill + 20
0x10a79e284:  movq   %rax, %rdi
0x10a79e287:  jmp    0x10a799ca3               ; cerror_nocancel
0x10a79e28c:  retq   
0x10a79e28d:  nop    
0x10a79e28e:  nop    
0x10a79e28f:  nop    

关于如何解决这个问题的任何想法,或者我做错了什么?我正在使用 iOS 8 GM 和 Xcode 6 GM。

【问题讨论】:

  • 检查控制台是否有任何错误。那里应该有一些错误信息
  • 控制台只显示(lldb)
  • Hmmmm.. 如果您在真实设备上进行测试,您可以查看崩溃日志文件。你也许可以通过这种方式获得一些洞察力。对不起,我不能提供更多帮助:(
  • 我遇到了同样的问题。你找到解决办法了吗?
  • @PhilipArpin — 你是在设备还是模拟器上测试?

标签: ios ios8 url-scheme app-startup


【解决方案1】:

好吧,我修好了!我只需要在我的 AppDelegate didFinishLaunchingWithOptions 方法中检查以下情况。

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

            if ((launchOptions) != nil) {

                if ((launchOptions?[UIApplicationLaunchOptionsURLKey]) != nil){


                }

感谢支持!

【讨论】:

    最近更新 更多