2016-11-06 22 views
0

Я пытаюсь заставить ReactiveSwift работать с Xcode 8.1. Xcode утверждает, что ReactiveSwift был написан в более ранней версии Swift, чем 3.0 (я думал, что он был обновлен до Swift 3!). Преобразование в Swift 3 приводит к> 50 ошибкам в быстрых файлах ReactiveSwift. Любые идеи, как исправить? Я использую CocoaPods для добавления инфраструктуры ReactiveSwift. Мой файл стручок ....ReactiveSwift не работает с Xcode 8.1. Преобразование в Swift 3 приводит к> 50 ошибкам. Исправления?

Podfile

target 'MyTarget' do 
use_frameworks! 
pod 'ReactiveSwift', :git => 'https://github.com/ReactiveCocoa/ReactiveSwift.git' 
end 
+0

Спасибо за ваш ответ Роб. Я попробовал это и перезапустить pod install. Он говорит мне, что использует ReactiveSwift 1.00-alpha.3 и Result 3.0.0. Xcode по-прежнему настаивает на том, что я конвертирую в Swift 3. Я разрешаю обновлять его по мере необходимости. Затем сборка дает 58 ошибок! – KeithRussell

ответ

2

OK Я решил это! Я обновил Cocoapods от 1.0.1 до 1.2.0.б.1. Последовал процесс, предложенный @Rob и вуаля! нет ошибок. После борьбы с основными изменениями синтаксиса в ReactiveCocoa 5.0 и разреженной документации (до сих пор), я получил тест привязки UI для работы с использованием метки и текстового поля и ... textField.reactive.continuousTextValues.observeValues ​​{text in self.label .text = текст как String!} ..... Спасибо @Rob за помощь и поддержку!

2

С CocoaPod 1.1.1, Xcode 8.1, и Свифта 3, если я делаю следующие шаги, он отлично работает:

  1. pod repo update (вам нужно только сделать это один раз)
  2. Начать с проекта Swift 3.
  3. pod init
  4. Добавить ReactiveCocoa line to my Podfile.
  5. pod install, который захватывает (прямо сейчас) ReactiveSwift (1.0.0-alpha.3) и результат (3.0.0).
  6. Открыть .xcworkspace.

Единственный способ, которым я могу описать поведение, - это попытаться добавить его в проект Objective-C без кода Swift. В этом случае, казалось бы, когда вы запускаете рабочее пространство, он не находит устаревшую версию (потому что не было никаких настроек сборки Swift вообще!) И неправильно предполагает, что она должна выполнить преобразование. Но если я добавлю хотя бы один файл Swift в свой проект, прежде чем выполнять вышеуказанные шаги, он отлично работает.

+0

Спасибо, что нашли время для этого. Я вернулся и, конечно, создал новый быстрый проект. Тот же результат. 58 ошибок реагирования - множество «Ярлыки аргументов» (ошибка :) »не соответствуют никаким доступным перегрузкам. Также 4 ошибки реакции. Может ли быть плохой параметр в моем Xcode 8.1 (8B62)? – KeithRussell

+0

Я просмотрел мои настройки сборки. для меня важно знать, какими они должны быть! Три попались на глаза .... Всегда вставлять Swift Стандартные библиотеки установлены в «Нет», для установки заголовка совместимости Object-C установлено значение «Да», а Use Legacy Swift Language Version - установлен на «неуказанный». Звучит правильно? – KeithRussell

+0

FWIW, я также использую Xcode 8.1 (8B62), и я просто создаю пустое приложение «Single View Application» iOS, выбираю Swift, закрываю проект, выполняю шаги, описанные выше, и он работает. Никаких изменений настроек не было. Я получил сообщение о том, что я обновляю рекомендуемые настройки и делаю, и он по-прежнему работает. – Rob