MBProgressHUD не работает быстро: не может импортировать и использовать

Я использовал cocoapods для установки MBProgressHUB и в мостом заголовка я не могу просто сделать

 #import "MBProgressHUD.h"

Я изменился на

#import "MBProgressHUD/MBProgressHUD.h"

импорт в порядке, но я не могу использовать его в быстром коде? что я делаю неправильно? как я могу решить эту проблему?

Ответ 1

Попробуйте следующее:

1) Задайте use_frameworks! в Podfile в использование фреймворков (вместо статических библиотек).

Это необходимо для добавления модулей, которые написаны в Swift как зависимости, и хорошая идея в целом, если ваше приложение написано в Swift.

2) Do pod install

Это гарантирует, что ваш проект настроен на фактическое использование вышеуказанного.

3) Добавьте #import <MBProgressHUD/MBProgressHUD.h> в свой заголовок моста (обратите внимание на угловые скобки - кавычки) и import MBProgressHUD в классе Swift, который должен его использовать.

То есть

MyApp-Bridging-Header.h:

#import <MBProgressHUD/MBProgressHUD.h>
// ... other imports ...

Это предоставляет файлы Objective-C для Swift. Угловые скобки указывают, что это фактически импортирует структуру.

MyViewController.swift:

import UIKit
import MBProgressHUD
// ... other imports...

class MyViewController: UIViewController {
  // ... yada yada...
}

Это фактически импортирует зависимость для использования вашим контроллером представления.

Ответ 2

You can directly drag MBProgressHUD Folder to your swift project, It will create the Bridging header as named "YourAppName-Bridging-Header.h", it means you can import obj-c classes into your swift project.



'import UIKit
import MBProgressHUD

class MyViewController: UIViewController {
  // write your code
}'
This actually imports the dependency for use by your view controller.

Ответ 3

Вы можете напрямую использовать как это в Swift 3 после добавления Pod и Bridging File.

  var hud = MBProgressHUD()
  hud = MBProgressHUD.showAdded(to: navigationController?.view, animated: 
  true)
  // Set the custom view mode to show any view.
  hud.mode = MBProgressHUDModeCustomView
  // Set an image view with a checkmark.
  let gifmanager = SwiftyGifManager(memoryLimit:20)
  let gif = UIImage(gifName: "miniballs1.gif")
  let imageview = UIImageView(gifImage: gif, manager: gifmanager)
  hud.labelText = NSLocalizedString("Loading", comment: "")
  hud.labelColor = UIColor.red
  imageview.frame = CGRect(x: 0 , y: 0, width: 25 , height: 25)
  hud.customView = imageview
  // Looks a bit nicer if we make it square.
  hud.show(true)