当通过 URL Scheme 打开 iOS 应用程序时,应用程序崩溃了。

4

我的应用程序处理URL schemes。当它已经在运行并从另一个应用程序调用时,它会正确且没有问题地运行。然而,当它完全关闭(即不在后台模式下),并且另一个应用程序调用它时,它会立即崩溃。

我已经设置了“等待可执行文件启动”选项,以便我可以调试 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。

请检查控制台是否有任何错误。那里应该会有一些错误信息。 - djthoms
控制台只显示 (lldb) - Oscar Swanros
如果你在真机上测试,可以查看崩溃日志文件。这样或许能够帮助你获得一些见解。很抱歉我无法提供更多帮助 :( - djthoms
我也遇到了同样的问题。你找到解决方法了吗? - Philip Arpin
@PhilipArpin — 你是在设备上还是模拟器上进行测试? - Oscar Swanros
两个。但是我似乎解决了这个问题。 - Philip Arpin
1个回答

2

好的,我来翻译。我已经解决了!我只需要在我的AppDelegate didFinishLaunchingWithOptions方法中检查以下情况。

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

            if ((launchOptions) != nil) {

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


                }

感谢您的支持!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接