Приложение для iPhone закрывается при запуске без журнала сбоев

StackOverflow https://stackoverflow.com/questions/1508230

  •  19-09-2019
  •  | 
  •  

Вопрос

Мое приложение отлично работает на устройствах 3.0 и 3.1 при запуске через Xcode, но вылетает при запуске при запуске на устройстве 3.1 при установке через iTunes.Он не оставляет журнала сбоев, но выводит его в консоль:

Thu Oct  1 19:33:36 unknown mobile_installationd[329] <Error>: 00808e00 install_embedded_profile: Skipping the installation of the embedded profile
Thu Oct  1 19:33:37 unknown SpringBoard[24] <Warning>: Reloading and rendering all application icons.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: debugserver-43 for armv6 Copyright (c) 2007-2009 Apple, Inc.  All Rights Reserved.
Thu Oct  1 19:33:41 unknown com.apple.debugserver-43[342] <Warning>: Connecting to com.apple.debugserver service...
Thu Oct  1 19:33:41 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Spawned and waiting for the debugger to attach before continuing...
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Builtin profile: container (seatbelt)
Thu Oct  1 19:33:42 unknown kernel[0] <Debug>: launchd[343] Container: /private/var/mobile/Applications/291BFBE4-F5DC-494D-B7E5-81BED01E508B (seatbelt)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 1 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Error>: error: MachTask::StartExceptionThread (): task invalid, exception thread start failed.
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 2 [0156/0903]: error: ::task_for_pid ( target_tport = 0x0103, pid = 343, task => 0x0000 ) 0x000001f5/0x000001f5 0x000001f5/0x000001f5 err = (os/kern) failure (0x00000005)
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 3 [0156/0903]: RNBRunLoopLaunchInferior DNBProcessLaunch() returned error: 'DRHT'
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: error: failed to launch process (null): failed to get the task for process 343
Thu Oct  1 19:33:42 unknown com.apple.debugserver-43[342] <Warning>: 4 [0156/1603]: error: ::read ( 7, 0x28091c, 1024 ) => -1 err = Bad file descriptor (0x00000009)
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Bug: launchd_core_logic.c:2649 (23909):10
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.companyname.AppName[0x60c]) Working around 5020256. Assuming the job crashed.
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Job appears to have crashed: Segmentation fault
Thu Oct  1 19:33:42 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.companyname.AppName[0x60c]) Throttling respawn: Will start in 2147483647 seconds
Thu Oct  1 19:33:42 unknown SpringBoard[24] <Warning>: Application 'AppName' exited abnormally with signal 11: Segmentation fault
Thu Oct  1 19:34:42 unknown SpringBoard[24] <Notice>: MultitouchHID(208ba0) uilock state: 0 -> 1

В приложении есть Default.png файл, и это отображается на мгновение, но я думаю, что он может быть загружен SpringBoard/launchd/whatnot, поэтому я не думаю, что это признак того, что я действительно когда-либо запускаю.

Я создал второй проект на том же компьютере и использовал для его сборки те же учетные данные и сертификаты, и он без проблем собирается и запускается через iTunes.

Это было полезно?

Решение

Я ставил сборку как сырую .app файл в Dropbox, и хотя codesign -vvvv AppName.app работал над копией на моей стороне Dropbox, она, очевидно, каким-то образом изменилась к тому времени, когда дошла до тестировщика.Сертификация не прошла, и приложение отказалось запускаться.

Этот пост в блоге сыграл важную роль в обнаружении того, что это было причиной, и Вот этот сыграл важную роль в поиске решения (архивирование приложения использовать zip MyApp.zip -r -y MyApp.app).

Другие советы

Попробуйте изолировать проблему, закомментировав код, который вы запускаете при загрузке, и посмотрите, загружает ли ваше приложение хотя бы главное окно.Затем постепенно раскомментируйте код и используйте операторы NSLog для регистрации значений инициализированных переменных (с помощью отладчика ваша проблема не возникнет, поэтому я думаю, что с NSLog все в порядке).Постарайтесь исключить тяжелую инициализацию из основного потока, запустив выделенный фоновый поток, если вы видите, что ваше приложение выходит из строя из-за того, что на предварительную загрузку всего уходит слишком много времени.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top