Actualización de Swift 3 a 4, la extensión Swift ya no está en el objetivo c

Acabo de terminar de actualizar un proyecto de lenguaje mixto (Objective-C y Swift) de Swift 3 a Swift 4.

Todo parecía ir bien, excepto que todas mis extensiones Swift ya no son accesibles en el objetivo-c. No puedo entender cómo llegaralguna Extensión rápida para aparecer en el objetivo-c. He intentado buscar, pero no puedo encontrar ninguna mención de los cambios en las extensiones en Swift 4, excepto para aflojar elprivate alcance.

Se pudo acceder a todas estas extensiones desde Objective-c en Swift 3, por lo que no hay tipos incompatibles (estructuras o enumeraciones no en bruto).Las extensiones están marcadas como públicas.Las extensiones son parte del mismo objetivo y en el mismo proyecto que los archivos de Objective-C.Sí, he importado "ProjectName-Swift.h" en los archivos relevantes de objectivo-c.Otras clases Swift compatibleshacer aparecer. Parece que solo faltan las extensiones.He intentado marcar cadafunc público también.

Por ejemplo, la siguiente extensión solía estar disponible para el código de Objective-C cuando estaba usando Swift 3:

public extension UIAlertController {

  class func alert(_ title: String? = nil, message: String? = nil) -> UIAlertController {
    return UIAlertController(title: title, message: message, preferredStyle: .alert)
  }

  @discardableResult func action(_ action: String) -> UIAlertController {
    self.addAction(UIAlertAction(title: action, style: .default, handler: nil))
    return self
  }

  @discardableResult func action(_ action: String, style: UIAlertActionStyle = .default, onSelected: ((UIAlertAction) -> Void)? = nil) -> UIAlertController {
    self.addAction(UIAlertAction(title: action, style: style, handler: onSelected))
    return self
  }

  @discardableResult func cancel(_ action: String? = "Cancel", onCancel: ((UIAlertAction) -> Void)? = nil) -> UIAlertController {
    self.addAction(UIAlertAction(title: action, style: .cancel, handler: { alert in
      onCancel?(alert)
    }))
    return self
  }

  @discardableResult func destructive(_ action: String, onDestruct: @escaping ((UIAlertAction) -> Void)) -> UIAlertController {
    self.addAction(UIAlertAction(title: action, style: .destructive, handler: { action in
      onDestruct(action)
    }))
    return self
  }

  func presentOn(_ viewController: UIViewController, animated: Bool = true) {
    viewController.present(self, animated: animated, completion: nil)
  }
}