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 headless FlutterEngine instances.

    This method is typically called from within an application’s AppDelegate at startup to allow for plugins which create additional FlutterEngine 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 FlutterMethodCalls.

    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 the FlutterEngine 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.