import Flutter
import UIKit
    
public class Swift{{pluginClass}}: NSObject, FlutterPlugin {
  public static func register(with registrar: FlutterPluginRegistrar) {
    let channel = FlutterMethodChannel(name: "{{projectName}}", binaryMessenger: registrar.messenger())
    let instance = Swift{{pluginClass}}()
    registrar.addMethodCallDelegate(instance, channel: channel)
  }

  public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
    result("iOS " + UIDevice.current.systemVersion)
  }
}
