Поддержка Realm для Swift 3

Поэтому я обновился до быстрой версии 3.0, и теперь все мои проекты с областью 1.0.2 выдают ошибку.

RealmSwift скомпилирован с использованием более старой версии языка Swift (2.0), чем предыдущие файлы (3.0)

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

Я нашел нескольких пользователей бета-версии Swift 3.0 и попытался запустить скрипт, чтобы обновить мою версию до 3.0 и несколько других вариантов. В последних нескольких сообщениях использовались Cocoa Pods, которые я сейчас не использую. Это поддерживаемый путь исправления?

Любая помощь или направление будет принята с благодарностью.


person Undead-Earth .com    schedule 14.09.2016    source источник


Ответы (1)


Я еще не пробовал, но вот что должно работать.

По сути, компилятор дает вам описание того, что пошло не так. Фреймворк был скомпилирован с помощью Swift 2.0, в то время как ваш проект или другие файлы были скомпилированы с помощью Swift версии 3.0 (это означает, что вы переключились после обновления до новой версии Xcode.

Чтобы это исправить, вам нужно использовать фреймворк Realm, скомпилированный компилятором Swift 3.0. Поскольку команда Realm еще не предоставляет предварительно скомпилированную версию, скомпилированную с помощью Swift 3.0, вам придется сделать это самостоятельно. Для этого перейдите в их репозиторий Github и следуйте инструкциям в README в разделе "Building Realm ":

Предпосылки:

  • Для создания Realm требуется Xcode 7.3.
  • Документация Building Realm требует джазового

Когда у вас есть все необходимые предварительные условия, сборка Realm.framework выполняется с помощью одной команды: sh build.sh build. Вам понадобится подключение к Интернету при первой сборке Realm, чтобы загрузить основной двоичный файл.

Это должно сгенерировать фреймворк Realm с текущей версией компилятора, который вам затем просто нужно использовать для замены вашего текущего фреймворка Realm. После этого все должно скомпилироваться как раньше.


Как уже говорилось ранее, я не знаю, работает ли это на самом деле, так как я еще не пробовал. Я точно не знаю, поддерживается ли Swift 3.0 Realm или есть ли какие-либо другие проблемы, с которыми вы можете столкнуться. Поэтому, пожалуйста, дайте мне знать, как это работает!

person NerdyTherapist    schedule 14.09.2016
comment
Судя по тому, что я прочитал, это действительно ответ, поэтому я отметил его как таковой. Однако я не смог заставить его работать. Я нашел 28 шагов, как обновить область до Swift 3.0, а также то, что есть на github. ни один из них не приводит к продукту, который работает (я получаю несколько ошибок), но на данный момент я считаю, что это что-то, что я делаю неправильно - я буду продолжать подключаться, пока не заставлю его работать, и или Realm не выпустит свою версию, поддерживаемую Swift 3. - person Undead-Earth .com; 14.09.2016
comment
@Undead-Earth.com вам следует обратиться к этому руководству github.com/realm/realm- какао/вопросы/3796 - person EpicPandaForce; 14.09.2016