Я тестирую флаттер с помощью 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)
}
}