Флаттер - iOS в существующем проекте не действует так же, как флаттер - PullRequest
0 голосов
/ 25 января 2020

Я тестирую флаттер с помощью webview_flutter Я только что написал код из примера.

Приложение хорошо запускается из прогона флаттера, но встроено в мое существующее приложение, оно не работает так, как исключено .

С запуском флаттера, я получил веб-сайт и кнопку фаворита внизу. В моем приложении веб-сайт не отображается и кнопка не отображается.

Я установил правильную запись <key>io.flutter.embedded_views_preview</key><true/> для обоих проектов iOS и Fl. Flner Runner Info.plist.

iOS код для отображения частей флаттера:

import UIKit
import Foundation
import Flutter
class ViewController: UIViewController {

override func viewDidLoad() {
  super.viewDidLoad()

  // Make a button to call the showFlutter function when pressed.
  let button = UIButton(type:UIButton.ButtonType.custom)
  button.addTarget(self, action: #selector(showFlutter), for: .touchUpInside)
  button.setTitle("Show Flutter!", for: UIControl.State.normal)
  button.frame = CGRect(x: 80.0, y: 210.0, width: 160.0, height: 40.0)
  button.backgroundColor = UIColor.blue
  self.view.addSubview(button)
}

@objc func showFlutter() {
  let flutterEngine = (UIApplication.shared.delegate as! AppDelegate).flutterEngine
  let flutterViewController =
      FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)
  present(flutterViewController, animated: true, completion: nil)
}
}

И в AppDelegate

import UIKit
import OneSignal
import Flutter
import FlutterPluginRegistrant
@UIApplicationMain
class AppDelegate: FlutterAppDelegate {

lazy var flutterEngine = FlutterEngine(name:"my flutter engine")

override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    flutterEngine.run()
    GeneratedPluginRegistrant.register(with: self.flutterEngine);
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...