Xcode 7, Swift 2.0, Карфаген

После обновления до Xcode 7.0 я конвертирую весь проект в Swift 2.0. Но я не могу обновить Carthage библиотеки. Я получаю это предупреждение:

Не удалось загрузить плагин по адресу: /Users/Alexandr/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPodUI.xcplugin, пропуск. Причина сбоя: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: попытка вставить нулевой объект из объектов[0]

И несколько ошибок:

Box/Box.swift:6:37: ошибка: «Printable» был переименован в «CustomStringConvertible» /Box/Box.swift:31:10: ошибка: «toString» был переименован в «String» Box/MutableBox.swift :8:51: ошибка: 'Printable' был переименован в 'CustomStringConvertible' Box/MutableBox.swift: 25:10: ошибка: 'toString' был переименован в 'String'

Как я могу использовать Swift 2.0 версию фреймворков? Мой карфагенский файл выглядит так:

github "Alamofire/Alamofire" 
github "SwiftyJSON/SwiftyJSON" 
github "ReactiveCocoa/ReactiveCocoa"

Добавить «swift 2.0» в конец фреймворка не получилось.

~ xcodebuild -version
Xcode 7.0
Build version 7A220
~ carthage version
0.9.1

Редактировать:

Швы Alamofire и SwiftyJSON уже поддерживают Swift 2.0. Для ReactiveCocoa нам нужно добавить ветку "swift2".

github "Alamofire/Alamofire"
github "SwiftyJSON/SwiftyJSON"
github "ReactiveCocoa/ReactiveCocoa" "swift2"

person Gralex    schedule 18.09.2015    source источник


Ответы (2)


Прежде всего, какая у вас версия Cartage? запустить команду

Carthage version

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

brew upgrade carthage

После этого проверьте, что все библиотеки, которые вы используете, поддерживают Swift 2.0, если не проверяйте разные ветки от мастера, возможно, они их еще не объединили.

Я только что видел, как вы запускали 0.9.1, может быть, у него проблемы? Я использую 0.8.0 и отлично работает с Alamofire.

person r4id4    schedule 18.09.2015
comment
Я понизил версию Carthage до 0.8, но проблема все еще возникает. Обнаружил, что у ReactiveCocoa есть другая ветка с поддержкой Swift 2.0. - person Gralex; 18.09.2015

Сработало для меня, поместив в мой Cartfile следующее:

github "ReactiveCocoa/ReactiveCocoa" >= 4.0

В настоящее время v4.x ReactiveCocoa находится в альфа-версии, но v3.x не поддерживает Swift 2.

person jwswart    schedule 24.10.2015