2016-12-17 2 views
1
extension SlideInAnimator: UIViewControllerAnimatedTransitioning { 
    func animateTransition(using transitionContext: UIViewControllerContextTransitioning) { 

     // This works 
     UIView.animate(withDuration: 0.3, animations: { }) { transitionContext.completeTransition($0) } 

     // transitionContext.completeTransition causes the error 
     UIView.animate(withDuration: 0.3, animations: { }, completion: transitionContext.completeTransition) 
    } 
} 

Xcode не показывает никаких ошибок, но при компиляции он вызывает ошибку, указанную в названии (даже после очистки). Всякий раз, когда я комментирую вторую анимацию, ошибка не появляется. Это ошибка, или мне просто не разрешено использовать ее, как вторая анимация?swiftc не удалось с кодом выхода 1

+0

Все гуглеры: эта ошибка является «поймать все», которая может иметь много причин. Чистка часто помогает. Если нет, повторите шаги и узнайте, какие изменения приводят к сбою компилятора. Затем откройте отчет об ошибке (https://bugs.swift.org/). – Raphael

ответ

2

Сообщение swiftc failed with exit code 1 указывает, что компилятор разбился из-за внутренней проблемы. По моему опыту, это может или не может указывать на то, что с вашим кодом существует некоторая синтаксическая ошибка (хотя то, что вы опубликовали, выглядит хорошо для меня), но в любом случае компилятор не может справиться с этим, как вы его написали.

Swift toolchain по-прежнему очень глючит, к сожалению, и иногда вам нужно «помочь», попробовав другой синтаксис для того, что вы делаете.

Возможно, вы захотите проверить https://bugs.swift.org и посмотреть, есть ли ошибка для него, и добавьте его, если нет.

+0

Thats несчастный действительно. Мне пришлось искать эту линию ошибок для линии и потребовалось некоторое время. Я надеюсь, что это не происходит слишком часто, иначе это будет стоить много (потраченного впустую) времени ... –

2

Простое решение для этого с Xcode 8.2 и быстры 3,0

  1. Нажмите в левом верхнем углу навигатора проекта (ваше имя проекта) и чистого проекта с (Cmd + SHFT + к).
  2. Весь Xcode полностью из лотка тоже.
  3. Открытый проект еще раз.
  4. wait and let xcode сделать индексацию файлов.
  5. Запустите проект и это.

Enjoy Happy Coding !!!

0

Я только что провел несколько часов, пытаясь определить причину swiftc коды выхода 1. После прочтения нескольких постов, очистку проекта & перезапуска Xcode несколько раз, комментируя новые куски кода и т.д., я сдался и начал создавать новый проект.

Когда я скопировал первый .swift-файл из старого в новый проект, я заметил, что у меня было два файла .swift с тем же именем в разных папках. Я прибрал свои файлы, и проект скомпилирован в порядке.

Таким образом, как указано в других сообщениях, код выхода 1, по-видимому, является популярным, когда компилятор находит что-то странное & неожиданным, что он не обрабатывается должным образом.

Смежные вопросы