SwiftMatrixSDK
требует Swift 5.0. Проверьте SwiftMatrixSDK.podspe c:
s.swift_version = '5.0'
На основе этого комментария ...
Этот быстрый слой был доставлен сообществом. Команда ядра матрицы запускает проекты в Obj- C, так что поддержка этого модуля не входит в наши приоритеты на данный момент.
... Я не ожидал, что они будут поддерживать Swift 4 совместимость, так как Swift 5 работает с нами более года. Но я не могу говорить за них, это всего лишь мое предположение.
Ваш пример явно является копией и вставкой из README, и он не работает даже со Swift 5. Инициализатор MXSession
допускает ошибки, и вы должны использовать:
guard
для let mxSession
или mxSession?.start
, mxSession?.rooms
Следующий код отлично компилируется с Swift 5:
import SwiftMatrixSDK
func doSomethingWithRooms() {
let credentials = MXCredentials(homeServer: "http://matrix.org",
userId: "@your_user_id:matrix.org",
accessToken: "your_access_token")
// Create a matrix client
let mxRestClient = MXRestClient(credentials: credentials, unrecognizedCertificateHandler: nil)
// Create a matrix session
guard let mxSession = MXSession(matrixRestClient: mxRestClient) else { return }
// Launch mxSession: it will first make an initial sync with the homeserver
mxSession.start { response in
guard response.isSuccess else { return }
// mxSession is ready to be used
// now wer can get all rooms with:
let rooms = mxSession.rooms
}
}
Я бы сказал, что вам следует заполнить вопрос (вопрос) и задать его там или перейти на Swift 5.
Проект перешел на Swift 5 в версии v0.13.0
. Ознакомьтесь с примечаниями к выпуску :
SwiftMatrixSDK: переход на Swift 5.0.
Теоретически предыдущая версия ( v0.12.5 ) должен работать со Swift 4. Если работает, значит, вы сможете его скомпилировать, но в нем будет отсутствовать довольно много функций и исправлений ошибок, поскольку эта версия была выпущена 3 мая 2019 г.