FlutterPluginRegistrar

Objective-C

@protocol FlutterPluginRegistrar <NSObject>

Swift

protocol FlutterPluginRegistrar : NSObjectProtocol

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;

    Swift

    func messenger() -> FlutterBinaryMessenger

    Return Value

    The messenger.

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

    Declaration

    Objective-C

    - (nonnull NSObject<FlutterTextureRegistry> *)textures;

    Swift

    func textures() -> FlutterTextureRegistry

    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;

    Swift

    func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String)

    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;

    Swift

    func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String, gestureRecognizersBlockingPolicy: FlutterPlatformViewGestureRecognizersBlockingPolicy)

    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;

    Swift

    func publish(_ value: NSObject)

    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;

    Swift

    func addMethodCallDelegate(_ delegate: FlutterPlugin, channel: FlutterMethodChannel)

    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;

    Swift

    func addApplicationDelegate(_ delegate: FlutterPlugin)

    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;

    Swift

    func lookupKey(forAsset asset: String) -> String

    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;

    Swift

    func lookupKey(forAsset asset: String, fromPackage package: String) -> String

    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.