Приложение iOS аварийно завершает работу при первом открытии с помощью схемы URL

Мое приложение обрабатывает схемы 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.


person Oscar Swanros    schedule 12.09.2014    source источник
comment
Проверьте консоль на наличие ошибок. Там должно быть какое-то сообщение об ошибке   -  person djthoms    schedule 12.09.2014
comment
Консоль показывает только (lldb).   -  person Oscar Swanros    schedule 12.09.2014
comment
Хмммм .. Если вы тестируете на реальном устройстве, вы можете посмотреть файлы журнала сбоев. Таким образом вы сможете получить некоторое представление. Извините, я ничем не могу помочь :(   -  person djthoms    schedule 12.09.2014
comment
У меня такая же проблема. Вы нашли решение?   -  person Philip Arpin    schedule 17.12.2014
comment
@PhilipArpin - вы тестируете на устройстве или симуляторе?   -  person Oscar Swanros    schedule 18.12.2014
comment
Оба. Но я вроде решил проблему.   -  person Philip Arpin    schedule 18.12.2014


Ответы (1)


Ну исправил! Мне просто нужно было проверить следующий случай в моем методе AppDelegate didFinishLaunchingWithOptions.

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

            if ((launchOptions) != nil) {

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


                }

Спасибо за поддержку!

person Philip Arpin    schedule 18.12.2014