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.