XPC-Соединение прервано в Xcode 7 для iOS 9
Я недавно обновился до Xcode 7 и обновил свой iPhone до iOS 9. Я разработал и выпустил приложение iOS, которое отлично работало на последней версии iOS 8 и Xcode 6.
при попытке пройти через процесс обновления приложения для поддержки iOS 9, я получаю самую смешную странную ошибку, которая оставила меня в недоумении.
Я сделал все синтаксические исправления автоматически через Xcode, и теперь мое приложение строится правильно. Он даже работает нормально первый.
У меня есть кнопка, которая переходит к контроллеру вида с WebView. Этот контроллер вида загружает ссылку, которая будет отображать изображение, веб-сайт или видео с youtube. Содержимое загружается отлично, как всегда. Тем не менее, программа выйдет из строя и перезагрузит симулятор (и мой iPhone) и отправит меня на экран блокировки, когда я нажму кнопку "назад" (я нахожусь в навигационном стеке).
в Xcode, я получаю следующие сообщения:
соединение XPC Прерванный.
Завершение, так как нет системного приложения.
У меня есть Flurry analytics, интегрированный в мое приложение, кстати, не уверен, что это проблема.
Как я могу исправить эту проблему? Мои поиски соединений XPC, похоже, не возвращают проблемы, подобные моим. Я даже не знаю, что такое XPC-соединение, так почему это в моем приложении?
EDIT: я нашел обходной путь для этой проблемы. Я не могу сказать, что это исправить.
сбой был происходящие во время использования метода.navigationController?.popViewControllerAnimated, если установлено значение true. Я случайно установил это в false, и сбой останавливается (теперь переход выглядит ужасно).
Я не знаю, почему это работает, и просто добавляет к своему смущению.
8 ответов:
проблема лежала в раскадровке для меня, а также. Я создал новый проект и изложил взгляды, и все, казалось, работало нормально. Я нашел эти две строки в источнике раскадровки (щелкните правой кнопкой мыши на раскадровке и выберите вид как - > исходный код) , которые не были распространены между рабочей версией и сломанной версией:
<keyCommands> <keyCommand/> </keyCommands>
Я понятия не имею, что эти строки должны делать, или как они вползли в мой файл раскадровки, но они были тем, что разбивало приложение так тяжело, что телефон пришлось перезагрузить. Я удалил эти строки из моего основного проекта и все снова работало.
Я боролся с точно такой же ошибки. Через процесс исключения я установил, что это не имело никакого отношения к любому классу, но имело отношение к раскадровке. К счастью, у меня есть регулярные резервные копии, и я попытался сравнить раскадровки, чтобы установить, что я сделал, но не смог найти ничего очевидного. Резервная копия работала нормально, и я смог скопировать мои классы контроллера (из неисправной копии с изменениями) в резервную копию, и они работали нормально.
Я думаю, существует ошибка, возможно, в раскадровки.
Я только что столкнулся с той же проблемой. Я не знаю, поможет ли это вам, но я также думаю, что это исходит из раскадровки:
в моем случае проблема исходит от UITextView. Всякий раз, когда я пытаюсь изменить текст по умолчанию внутри него, у меня есть эта ошибка. Если я позволю текст по умолчанию или оставить его пустым, приложение работает нормально. Создание IBOutlet и изменение текста программно также работает.
Я пробовал с другими элементами пользовательского интерфейса, но только UITextView, кажется, есть это вопрос.
эта ошибка может быть вызвана повторным выполнением петли. В моем случае это был цикл "for", в котором я сбросил переменную подсчета. Как только я добавил NSLog в цикле, это было очевидно.
при использовании QLPreviewController, я столкнулся с этой проблемой. Сообщения об ошибках следующим образом:
XPC connection interrupted _BSMachError: (os/kern) invalid capability (20) _BSMachError: (os/kern) invalid name (15)
поскольку XPC означает межпроцессную связь OS X, поэтому я думаю, что это может решить проблему,
dispatch_async(dispatch_get_main_queue(), ^{ // do what you want to do. });
в valueChanged: метод UIControl, у меня была та же проблема поэтому я сделал код внутри valueChanged: запустить в основном потоке и это решило проблему.
@IBAction func valueChanged(sender: AnyObject) { dispatch_async(dispatch_get_main_queue(), { //code } }
У меня такое же сообщение об ошибке, когда я помещаю subview в метод layoutSubviews:
-(void)layoutSubviews { [super layoutSubviews]; [self populateByImageViews]; }
это вызывает бесконечный цикл процесса макета и аварийно завершает работу приложения. Не размещайте подвиды в этом месте!
Comments