我尝试在我的 Swift iOS 项目中使用 SwiftMessages
。
SwiftMessages
已在 6.0 版本中与 pod
一起安装
当我使用这样的示例代码时:
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)
我在 SwiftMessages.show(config: warningConfig, view: warning)
上获得了一个 Exec Bad Access
此外,它无法识别属性 presentationContext
,这就是我的代码中该行位于注释中的原因。但是这里列出了此属性:https://github.com/SwiftKickMobile/SwiftMessages
那么,是我的代码有问题,还是框架内部有错误?
最佳答案
听起来您的应用是在 Swift 4.1 或更低版本上运行的。 Swift兼容性如下:
- Swift 4.2 -> SwiftMessages 6
- Swift 4.1 或更低版本 -> SwiftMessages 5
关于SwiftMessages Exec Bad Access 使用 SwiftMessages.defaultConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52668005/