SwiftMessages Exec Bad Access с использованием SwiftMessages.defaultConfig

Я пытаюсь использовать SwiftMessages в мой проект Swift iOS.

SwiftMessages был установлен с pod в версии 6.0

Когда я использую пример кода, как это:

    let error = MessageView.viewFromNib(layout: .cardView)
    error.configureTheme(.error)
    error.configureContent(title: "Error", body: "Something is horribly wrong!")
    error.button?.setTitle("Stop", for: .normal)
    SwiftMessages.show(view: error)

До сих пор все в порядке!

Но когда я пытаюсь использовать SwiftMessages.Config() или же SwiftMessages.defaultConfig как это:

    let warning = MessageView.viewFromNib(layout: .cardView)
    warning.configureTheme(.warning)
    warning.configureDropShadow()

    let iconText = ["", "", "", ""].sm_random()!
    warning.configureContent(title: "Warning", body: "Consider yourself warned.", iconText: iconText)
    warning.button?.isHidden = true
    var warningConfig = SwiftMessages.defaultConfig
    warningConfig.presentationStyle = .top
    //warningConfig.presentationContext = .window(windowLevel: UIWindow.Level.statusBar)
    SwiftMessages.show(config: warningConfig, view: warning)

Я получаю Exec Bad Access на SwiftMessages.show(config: warningConfig, view: warning)

Более того, он не признает собственность presentationContextВот почему строка в комментарии в моем коде. Однако это свойство указано здесь: https://github.com/SwiftKickMobile/SwiftMessages

Итак, что-то не так в моем коде, или есть ошибка внутри фреймворка?

1 ответ

Решение

Похоже, ваше приложение на Swift 4.1 или ниже. Совместимость со Swift заключается в следующем:

  • Swift 4.2 -> SwiftMessages 6
  • Swift 4.1 или ниже -> SwiftMessages 5
Другие вопросы по тегам