FlutterPluginRegistrar

@protocol FlutterPluginRegistrar <NSObject>

Registration context for a single FlutterPlugin, providing a one stop shop for the plugin to access contextual information and register callbacks for various application events.

Registrars are obtained from a FlutterPluginRegistry which keeps track of the identity of registered plugins and provides basic support for cross-plugin coordination.

  • Returns a FlutterBinaryMessenger for creating Dart/iOS communication channels to be used by the plugin.

    Declaration

    Objective-C

    - (nonnull NSObject<FlutterBinaryMessenger> *)messenger;

    Return Value

    The messenger.

  • Returns a FlutterTextureRegistry for registering textures provided by the plugin.

    Declaration

    Objective-C

    - (nonnull NSObject<FlutterTextureRegistry> *)textures;

    Return Value

    The texture registry.

  • Registers a FlutterPlatformViewFactory for creation of platform views.

    Plugins expose UIView for embedding in Flutter apps by registering a view factory.

    Declaration

    Objective-C

    - (void)registerViewFactory:
                (nonnull NSObject<FlutterPlatformViewFactory> *)factory
                         withId:(nonnull NSString *)factoryId;

    Parameters

    factory

    The view factory that will be registered.

    factoryId

    A unique identifier for the factory, the Dart code of the Flutter app can use this identifier to request creation of a UIView by the registered factory.

  • Registers a FlutterPlatformViewFactory for creation of platform views.

    Plugins can expose a UIView for embedding in Flutter apps by registering a view factory.

    Declaration

    Objective-C

    - (void)registerViewFactory:
                (nonnull NSObject<FlutterPlatformViewFactory> *)factory
                                  withId:(nonnull NSString *)factoryId
        gestureRecognizersBlockingPolicy:
            (FlutterPlatformViewGestureRecognizersBlockingPolicy)
                gestureRecognizersBlockingPolicy;

    Parameters

    factory

    The view factory that will be registered.

    factoryId

    A unique identifier for the factory, the Dart code of the Flutter app can use this identifier to request creation of a UIView by the registered factory.

    gestureRecognizersBlockingPolicy

    How UIGestureRecognizers on the platform views are blocked.

  • Publishes a value for external use of the plugin.

    Plugins may publish a single value, such as an instance of the plugin’s main class, for situations where external control or interaction is needed.

    The published value will be available from the FlutterPluginRegistry. Repeated calls overwrite any previous publication.

    Declaration

    Objective-C

    - (void)publish:(nonnull NSObject *)value;

    Parameters

    value

    The value to be published.

  • Registers the plugin as a receiver of incoming method calls from the Dart side on the specified FlutterMethodChannel.

    Declaration

    Objective-C

    - (void)addMethodCallDelegate:(nonnull NSObject<FlutterPlugin> *)delegate
                          channel:(nonnull FlutterMethodChannel *)channel;

    Parameters

    delegate

    The receiving object, such as the plugin’s main class.

    channel

    The channel

  • Registers the plugin as a receiver of UIApplicationDelegate calls.

    Declaration

    Objective-C

    - (void)addApplicationDelegate:(nonnull NSObject<FlutterPlugin> *)delegate;

    Parameters

    delegate

    The receiving object, such as the plugin’s main class.

  • Returns the file name for the given asset. The returned file name can be used to access the asset in the application’s main bundle.

    Declaration

    Objective-C

    - (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset;

    Parameters

    asset

    The name of the asset. The name can be hierarchical.

    Return Value

    the file name to be used for lookup in the main bundle.

  • Returns the file name for the given asset which originates from the specified package. The returned file name can be used to access the asset in the application’s main bundle.

    Declaration

    Objective-C

    - (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset
                                fromPackage:(nonnull NSString *)package;

    Parameters

    asset

    The name of the asset. The name can be hierarchical.

    package

    The name of the package from which the asset originates.

    Return Value

    the file name to be used for lookup in the main bundle.