FlutterPlugin
@protocol FlutterPlugin <NSObject, FlutterApplicationLifeCycleDelegate>
Implemented by the iOS part of a Flutter plugin.
Defines a set of optional callback methods and a method to set up the plugin and register it to be called by other application components.
-
Registers this plugin using the context information and callback registration methods exposed by the given registrar.
The registrar is obtained from a
FlutterPluginRegistry
which keeps track of the identity of registered plugins and provides basic support for cross-plugin coordination.The caller of this method, a plugin registrant, is usually autogenerated by Flutter tooling based on declared plugin dependencies. The generated registrant asks the registry for a registrar for each plugin, and calls this method to allow the plugin to initialize itself and register callbacks with application objects available through the registrar protocol.
Declaration
Objective-C
+ (void)registerWithRegistrar: (nonnull NSObject<FlutterPluginRegistrar> *)registrar;
Parameters
registrar
A helper providing application context and methods for registering callbacks.
-
Set a callback for registering plugins to an additional
FlutterPluginRegistry
, including headlessFlutterEngine
instances.This method is typically called from within an application’s
AppDelegate
at startup to allow for plugins which create additionalFlutterEngine
instances to register the application’s plugins.Declaration
Objective-C
+ (void)setPluginRegistrantCallback: (nonnull FlutterPluginRegistrantCallback)callback;
Parameters
callback
A callback for registering some set of plugins with a
FlutterPluginRegistry
. -
Called if this plugin has been registered to receive
FlutterMethodCall
s.Declaration
Objective-C
- (void)handleMethodCall:(nonnull FlutterMethodCall *)call result:(nonnull FlutterResult)result;
Parameters
call
The method call command object.
result
A callback for submitting the result of the call.
-
Called when a plugin is being removed from a
FlutterEngine
, which is usually the result of theFlutterEngine
being deallocated. This method provides the opportunity to do necessary cleanup.You will only receive this method if you registered your plugin instance with the
FlutterEngine
via-[FlutterPluginRegistry publish:]
.Declaration
Objective-C
- (void)detachFromEngineForRegistrar: (nonnull NSObject<FlutterPluginRegistrar> *)registrar;
Parameters
registrar
The registrar that was used to publish the plugin.