Подтвердить что ты не робот

Соединение XPC прервано в Xcode 7 для iOS 9

Недавно я обновился до Xcode 7 и обновил свой iPhone до iOS 9. Я разработал и выпустил приложение iOS, которое отлично справилось с последней версией iOS 8 и Xcode 6.

При попытке пройти процесс обновления приложения для поддержки iOS 9, я получаю самую смехотворную странную ошибку, которая оставила меня озадаченным.

Я автоматически выполнил все синтаксические исправления с помощью Xcode, и теперь мое приложение строит правильно. Сначала он работает нормально.

У меня есть кнопка, которая переходит к контроллеру представления с помощью WebView. Этот контроллер просмотра загружает ссылку, которая будет отображать изображение, веб-сайт или видео с YouTube. Содержимое загружается отлично, как всегда. Тем не менее, программа выйдет из строя и перезагрузит симулятор (и мой iPhone) и отправит меня на экран блокировки, когда я нажму кнопку "Назад" (я нахожусь в стеке навигации).

В Xcode я получаю следующие сообщения:

Соединение XPC прервано. Завершение, так как нет системного приложения.

У меня есть Flurry-аналитика, встроенная в мое приложение, кстати, не уверен, что это проблема.

Как я могу исправить эту проблему? Мои поиски соединений XPC, похоже, не возвращают проблем, подобных моим. Я даже не знаю, что такое соединение XPC, так почему же это в моем приложении?

EDIT: Я нашел обходной путь для этой проблемы. Я не могу сказать, что это исправление.

Сбой произошел во время использования метода self.navigationController?.popViewControllerAnimated, когда установлено значение true. Мне пришлось установить это значение false, а сбой останавливается (теперь переход выглядит ужасно).

Я не знаю, почему это работает, и просто добавляет к моей путанице.

4b9b3361

Ответ 1

Проблема лгала и в раскадровке для меня. Я создал новый проект и изложил взгляды, и все, казалось, прекрасно работает. Я нашел эти строки в источнике раскадровки (щелкните правой кнопкой мыши на раскадровке и выберите вид как → исходный код), которые не были распространены между рабочей версией и сломанной версией:

<keyCommands>
    <keyCommand/>
</keyCommands>

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

Ответ 2

Эта ошибка может быть вызвана повторением цикла. В моем случае это был цикл "для", в котором я reset счетная переменная. Как только я добавил NSLog в цикле, это было очевидно.

Ответ 3

Я столкнулся с той же проблемой. Я не знаю, поможет ли это вам, но я также думаю, что это происходит из раскадровки:

В моем случае проблема возникает из UITextView. Всякий раз, когда я пытаюсь изменить текст по умолчанию внутри него, у меня есть эта ошибка. Если я разрешаю текст по умолчанию или оставляю его пустым, приложение работает нормально. Создание IBOutlet и изменение текста программно также работает.

Я пробовал с другими элементами пользовательского интерфейса, но только UITextView, похоже, имеет эту проблему.

Ответ 4

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

Я думаю, что в раскадрах есть ошибка.

Ответ 5

У меня такое же сообщение об ошибке, когда я помещаю subview в метод -layoutSubviews:

-(void)layoutSubviews
{
    [super layoutSubviews];   
    [self populateByImageViews];
}

Это приводит к бесконечному циклу процесса компоновки и сбоям приложения. Не размещайте подвалы в этом месте!

Ответ 6

Удаление UITextView из одного из представлений в Storybord удаляет ошибку в моем случае.

Ответ 7

При использовании 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.
});

Ответ 8

В valueChanged: метод UIControl, у меня была такая же проблема поэтому я сделал код внутри valueChanged: для запуска в основном потоке, и он решил проблему.

@IBAction func valueChanged(sender: AnyObject) {
  dispatch_async(dispatch_get_main_queue(), {
  //code
  }
}

Ответ 9

Для меня были некоторые недостающие ограничения с UISearchBar, но ошибка была только в симуляторе.

Я только добавляю некоторые ограничения и работает лучше