| Flutter iOS Embedder |

Instance Methods | Class Methods | Properties | List of all members
FlutterEngine() Category Reference

`#import <FlutterEngine_Internal.h>`

Inheritance diagram for FlutterEngine():

## Instance Methods
(void) | - updateViewportMetrics:
(void) | - dispatchPointerDataPacket:
(fml::RefPtr< fml::TaskRunner >) | - platformTaskRunner
(fml::RefPtr< fml::TaskRunner >) | - uiTaskRunner
(fml::RefPtr< fml::TaskRunner >) | - rasterTaskRunner
(void) | - installFirstFrameCallback:
(void) | - enableSemantics:withFlags:
(void) | - notifyViewCreated
(void) | - notifyViewDestroyed
(flutter::Rasterizer::Screenshot) | - screenshot:base64Encode:
(FlutterPlatformPlugin *) | - platformPlugin
(FlutterTextInputPlugin *) | - textInputPlugin
(FlutterRestorationPlugin *) | - restorationPlugin
(FlutterEnginePluginSceneLifeCycleDelegate *) | - sceneLifeCycleDelegate
(void) | - launchEngine:libraryURI:entrypointArgs:
(BOOL) | - createShell:libraryURI:initialRoute:
(void) | - attachView
(void) | - notifyLowMemory
(void) | - waitForFirstFrameSync:callback:
| Blocks until the first frame is presented or the timeout is exceeded, then invokes callback. More...
(void) | - waitForFirstFrame:callback:
(FlutterEngine *) | - spawnWithEntrypoint:libraryURI:initialRoute:entrypointArgs:
(void) | - sendKeyEvent:callback:userData:
(int64_t) | - engineIdentifier
(void) | - addSceneLifeCycleDelegate:
(BOOL) | - performImplicitEngineCallback
(NSObject< FlutterApplicationRegistrar > *) | - registrarForApplication:
(void) | - sendDeepLinkToFramework:completionHandler:
(nonnull FlutterTextInputPlugin *) | - textInputPlugin
(BOOL) | - createShell:libraryURI:initialRoute:
(void) | - dispatchPointerDataPacket:
(void) | - updateViewportMetrics:
(void) | - attachView
Instance Methods inherited from <FlutterIndirectScribbleDelegate>
(void) | - flutterTextInputPlugin:focusElement:atPoint:result:
(void) | - flutterTextInputPlugin:requestElementsInRect:result:
Instance Methods inherited from <FlutterUndoManagerDelegate>
(void) | - handleUndoWithDirection:
Instance Methods inherited from <FlutterTextInputDelegate>
(void) | - flutterTextInputView:updateEditingClient:withState:
(void) | - flutterTextInputView:updateEditingClient:withState:withTag:
(void) | - flutterTextInputView:updateEditingClient:withDelta:
(void) | - flutterTextInputView:performAction:withClient:
(void) | - flutterTextInputView:updateFloatingCursor:withClient:withPosition:
(void) | - flutterTextInputView:showAutocorrectionPromptRectForStart:end:withClient:
(void) | - flutterTextInputView:showToolbar:
(void) | - flutterTextInputViewScribbleInteractionBegan:
(void) | - flutterTextInputViewScribbleInteractionFinished:
(void) | - flutterTextInputView:insertTextPlaceholderWithSize:withClient:
(void) | - flutterTextInputView:removeTextPlaceholder:
(void) | - flutterTextInputView:didResignFirstResponderWithTextInputClient:
(void) | - flutterTextInputView:willDismissEditMenuWithTextInputClient:
(void) | - flutterTextInputView:shareSelectedText:
(void) | - flutterTextInputView:searchWebWithSelectedText:
(void) | - flutterTextInputView:lookUpSelectedText:
(void) | - flutterTextInputView:performContextMenuCustomActionWithActionID:textInputClient:
Instance Methods inherited from <FlutterBinaryMessenger>
(NSObject< FlutterTaskQueue > *) | - makeBackgroundTaskQueue
| TODO(gaaclarke): Remove optional when macos supports Background Platform Channels. More...
(FlutterBinaryMessengerConnection) | - setMessageHandlerOnChannel:binaryMessageHandler:taskQueue:
(void) | - sendOnChannel:message:
(void) | - sendOnChannel:message:binaryReply:
(FlutterBinaryMessengerConnection) | - setMessageHandlerOnChannel:binaryMessageHandler:
(void) | - cleanUpConnection:
Instance Methods inherited from <FlutterTextureRegistry>
(int64_t) | - registerTexture:
(void) | - textureFrameAvailable:
(void) | - unregisterTexture:
Instance Methods inherited from <FlutterViewEngineDelegate>
(flutter::Rasterizer::Screenshot) | - takeScreenshot:asBase64Encoded:
(void) | - flutterViewAccessibilityDidCall

## Class Methods
(nullable FlutterEngine *) | + engineForIdentifier:

## Properties
FlutterDartProject * | dartProject
NSString * | labelPrefix
BOOL | allowHeadlessExecution
BOOL | restorationEnabled
FlutterPlatformViewsController * | platformViewsController
FlutterEnginePluginSceneLifeCycleDelegate * | sceneLifeCycleDelegate
NSMutableDictionary * | pluginPublications
NSMutableDictionary< NSString *, FlutterEngineBaseRegistrar * > * | registrars
NSString * | isolateId
NSString * | initialRoute
id< NSObject > | flutterViewControllerWillDeallocObserver
FlutterDartVMServicePublisher * | publisher
FlutterConnectionCollection * | connections
int64_t | nextTextureId
FlutterPlatformPlugin * | platformPlugin
FlutterTextInputPlugin * | textInputPlugin
FlutterUndoManagerPlugin * | undoManagerPlugin
FlutterSpellCheckPlugin * | spellCheckPlugin
FlutterRestorationPlugin * | restorationPlugin
FlutterMethodChannel * | localizationChannel
FlutterMethodChannel * | navigationChannel
FlutterMethodChannel * | restorationChannel
FlutterMethodChannel * | platformChannel
FlutterMethodChannel * | platformViewsChannel
FlutterMethodChannel * | textInputChannel
FlutterMethodChannel * | undoManagerChannel
FlutterMethodChannel * | scribbleChannel
FlutterMethodChannel * | spellCheckChannel
FlutterBasicMessageChannel * | lifecycleChannel
FlutterBasicMessageChannel * | systemChannel
FlutterBasicMessageChannel * | settingsChannel
FlutterBasicMessageChannel * | keyEventChannel
FlutterMethodChannel * | screenshotChannel
BOOL | enableEmbedderAPI
FlutterEngineProcTable & | embedderAPI
BOOL | manuallyRegisteredToScene
FlutterDartProject * | project
Properties inherited from <FlutterUndoManagerDelegate>
NSUndoManager * | undoManager
UIView< UITextInput > * | activeTextInputView
Properties inherited from <FlutterViewEngineDelegate>
FlutterPlatformViewsController * | platformViewsController

## Detailed Description

Definition at line 110 of file FlutterEngine.mm.

## Method Documentation

## ◆ addSceneLifeCycleDelegate:

- (void) addSceneLifeCycleDelegate: |  | (NSObject< FlutterSceneLifeCycleDelegate > *) | delegate |

References NS_ASSUME_NONNULL_END.

## ◆ attachView [1/2]

- (void) attachView |  |  |

## ◆ attachView [2/2]

- (void) attachView |  |  |

## ◆ createShell:libraryURI:initialRoute: [1/2]

- (BOOL) createShell: |  | (NSString *) | entrypoint
libraryURI: |  | (NSString *) | libraryURI
initialRoute: |  | (NSString *) | initialRoute

## ◆ createShell:libraryURI:initialRoute: [2/2]

- (BOOL) createShell: |  | (nullable NSString *) | entrypoint
libraryURI: |  | (nullable NSString *) | libraryOrNil
initialRoute: |  | (nullable NSString *) | initialRoute

## ◆ dispatchPointerDataPacket: [1/2]

- (void) dispatchPointerDataPacket: |  | (std::unique_ptr< flutter::PointerDataPacket >) | packet |

## ◆ dispatchPointerDataPacket: [2/2]

- (void) dispatchPointerDataPacket: |  | (std::unique_ptr< flutter::PointerDataPacket >) | packet |

## ◆ enableSemantics:withFlags:

- (void) enableSemantics: |  | (BOOL) | enabled
withFlags: |  | (int64_t) | flags

## ◆ engineForIdentifier:

+ (nullable FlutterEngine*) engineForIdentifier: |  | (int64_t) | identifier |

Returns engine for the identifier. The identifier must be valid for an engine that is currently running, otherwise the behavior is undefined.

The identifier can be obtained in Dart code through `PlatformDispatcher.instance.engineId`.

This function must be called on the main thread.

## ◆ engineIdentifier

- (int64_t) engineIdentifier |  |  |

Returns the engine handle. Used in FlutterEngineTest.

## ◆ installFirstFrameCallback:

- (void) installFirstFrameCallback: |  | (void(^)(void)) | block |

## ◆ launchEngine:libraryURI:entrypointArgs:

- (void) launchEngine: |  | (nullable NSString *) | entrypoint
libraryURI: |  | (nullable NSString *) | libraryOrNil
entrypointArgs: |  | (nullable NSArray< NSString * > *) | entrypointArgs

## ◆ notifyLowMemory

- (void) notifyLowMemory |  |  |

## ◆ notifyViewCreated

- (void) notifyViewCreated |  |  |

## ◆ notifyViewDestroyed

- (void) notifyViewDestroyed |  |  |

## ◆ performImplicitEngineCallback

- (BOOL) performImplicitEngineCallback |  |  |

## ◆ platformPlugin

- (FlutterPlatformPlugin*) platformPlugin |  |  |

## ◆ platformTaskRunner

- (RefPtr<)fml: |  |  |

## ◆ rasterTaskRunner

- (RefPtr<)fml: |  |  |

## ◆ registrarForApplication:

- (NSObject<FlutterApplicationRegistrar>*) registrarForApplication: |  | (NSString *) | key |

## ◆ restorationPlugin

- (FlutterRestorationPlugin*) restorationPlugin |  |  |

## ◆ sceneLifeCycleDelegate

- (FlutterEnginePluginSceneLifeCycleDelegate*) sceneLifeCycleDelegate |  |  |

## ◆ screenshot:base64Encode:

- Rasterizer: |  | (flutter::Rasterizer::ScreenshotType) | type
base64Encode: |  | (bool) | base64Encode

## ◆ sendDeepLinkToFramework:completionHandler:

- (void) sendDeepLinkToFramework: |  | (NSURL *) | url
completionHandler: |  | (void(^)(BOOL success)) | completion

## ◆ sendKeyEvent:callback:userData:

- (void) sendKeyEvent: |  | (const FlutterKeyEvent &) | event
callback: |  | (nullable FlutterKeyEventCallback) | callback
userData: |  | (nullable void *) | userData

Dispatches the given key event data to the framework through the engine. The callback is called once the response from the framework is received.

## ◆ spawnWithEntrypoint:libraryURI:initialRoute:entrypointArgs:

- (FlutterEngine*) spawnWithEntrypoint: |  | (nullable NSString *) | entrypoint
libraryURI: |  | (nullable NSString *) | libraryURI
initialRoute: |  | (nullable NSString *) | initialRoute
entrypointArgs: |  | (nullable NSArray< NSString * > *) | entrypointArgs

Creates one running FlutterEngine from another, sharing components between them.

This results in a faster creation time and a smaller memory footprint engine. This should only be called on a FlutterEngine that is running.

## ◆ textInputPlugin [1/2]

- (FlutterTextInputPlugin*) textInputPlugin |  |  |

## ◆ textInputPlugin [2/2]

- (nonnull FlutterTextInputPlugin*) textInputPlugin |  |  |

## ◆ uiTaskRunner

- (RefPtr<)fml: |  |  |

## ◆ updateViewportMetrics: [1/2]

- (void) updateViewportMetrics: |  | (flutter::ViewportMetrics) | viewportMetrics |

## ◆ updateViewportMetrics: [2/2]

- (void) updateViewportMetrics: |  | (flutter::ViewportMetrics) | viewportMetrics |

## ◆ waitForFirstFrame:callback:

- (void) waitForFirstFrame: |  | (NSTimeInterval) | timeout
callback: |  | (void(^)(BOOL didTimeout)) | callback

Asynchronously waits until the first frame is presented or the timeout is exceeded, then invokes callback.

## ◆ waitForFirstFrameSync:callback:

- (void) waitForFirstFrameSync: |  | (NSTimeInterval) | timeout
callback: |  | (NS_NOESCAPE void(^)(BOOL didTimeout)) | callback

Blocks until the first frame is presented or the timeout is exceeded, then invokes callback.

## Property Documentation

## ◆ allowHeadlessExecution

- (BOOL) allowHeadlessExecution
| read nonatomic assign

Definition at line 120 of file FlutterEngine.mm.

## ◆ connections

- (FlutterConnectionCollection*) connections
| read write nonatomic strong

Definition at line 136 of file FlutterEngine.mm.

## ◆ dartProject

- (FlutterDartProject*) dartProject
| read nonatomic assign

Definition at line 118 of file FlutterEngine.mm.

## ◆ embedderAPI

- (FlutterEngineProcTable&) embedderAPI
| read write nonatomic assign

Definition at line 165 of file FlutterEngine.mm.

## ◆ enableEmbedderAPI

- (BOOL) enableEmbedderAPI
| read write nonatomic assign

Definition at line 163 of file FlutterEngine.mm.

## ◆ flutterViewControllerWillDeallocObserver

- (id<NSObject>) flutterViewControllerWillDeallocObserver
| read write nonatomic strong

Definition at line 134 of file FlutterEngine.mm.

## ◆ initialRoute

- (NSString*) initialRoute
| read write nonatomic copy

Definition at line 133 of file FlutterEngine.mm.

## ◆ isolateId

- (NSString*) isolateId
| read write nonatomic copy

Definition at line 132 of file FlutterEngine.mm.

## ◆ keyEventChannel

- (FlutterBasicMessageChannel*) keyEventChannel
| read write nonatomic strong

Definition at line 158 of file FlutterEngine.mm.

## ◆ labelPrefix

- (NSString*) labelPrefix
| read nonatomic copy

Definition at line 119 of file FlutterEngine.mm.

## ◆ lifecycleChannel

- (FlutterBasicMessageChannel*) lifecycleChannel
| read write nonatomic strong

Definition at line 155 of file FlutterEngine.mm.

## ◆ localizationChannel

- (FlutterMethodChannel*) localizationChannel
| read write nonatomic strong

Definition at line 146 of file FlutterEngine.mm.

## ◆ manuallyRegisteredToScene

- (BOOL) manuallyRegisteredToScene
| read write nonatomic assign

Definition at line 36 of file FlutterEngine_Internal.h.

## ◆ navigationChannel

- (FlutterMethodChannel*) navigationChannel
| read write nonatomic strong

Definition at line 147 of file FlutterEngine.mm.

## ◆ nextTextureId

- (int64_t) nextTextureId
| read write nonatomic assign

Definition at line 137 of file FlutterEngine.mm.

## ◆ platformChannel

- (FlutterMethodChannel*) platformChannel
| read write nonatomic strong

Definition at line 149 of file FlutterEngine.mm.

## ◆ platformPlugin

- (FlutterPlatformPlugin*) platformPlugin
| read write nonatomic strong

Definition at line 141 of file FlutterEngine.mm.

## ◆ platformViewsChannel

- (FlutterMethodChannel*) platformViewsChannel
| read write nonatomic strong

Definition at line 150 of file FlutterEngine.mm.

## ◆ platformViewsController

- (FlutterPlatformViewsController*) platformViewsController
| read write nonatomic strong

Definition at line 123 of file FlutterEngine.mm.

## ◆ pluginPublications

- (NSMutableDictionary*) pluginPublications
| read nonatomic assign

Definition at line 128 of file FlutterEngine.mm.

## ◆ project

- (FlutterDartProject*) project
| read nonatomic assign

Definition at line 93 of file FlutterEngine_Internal.h.

## ◆ publisher

- (FlutterDartVMServicePublisher*) publisher
| read write nonatomic strong

Definition at line 135 of file FlutterEngine.mm.

## ◆ registrars

- (NSMutableDictionary<NSString*, FlutterEngineBaseRegistrar*>*) registrars
| read nonatomic assign

Definition at line 130 of file FlutterEngine.mm.

## ◆ restorationChannel

- (FlutterMethodChannel*) restorationChannel
| read write nonatomic strong

Definition at line 148 of file FlutterEngine.mm.

## ◆ restorationEnabled

- (BOOL) restorationEnabled
| read nonatomic assign

Definition at line 121 of file FlutterEngine.mm.

## ◆ restorationPlugin

- (FlutterRestorationPlugin*) restorationPlugin
| read write nonatomic strong

Definition at line 145 of file FlutterEngine.mm.

## ◆ sceneLifeCycleDelegate

- (FlutterEnginePluginSceneLifeCycleDelegate*) sceneLifeCycleDelegate
| read write nonatomic strong

Definition at line 124 of file FlutterEngine.mm.

## ◆ screenshotChannel

- (FlutterMethodChannel*) screenshotChannel
| read write nonatomic strong

Definition at line 159 of file FlutterEngine.mm.

## ◆ scribbleChannel

- (FlutterMethodChannel*) scribbleChannel
| read write nonatomic strong

Definition at line 153 of file FlutterEngine.mm.

## ◆ settingsChannel

- (FlutterBasicMessageChannel*) settingsChannel
| read write nonatomic strong

Definition at line 157 of file FlutterEngine.mm.

## ◆ spellCheckChannel

- (FlutterMethodChannel*) spellCheckChannel
| read write nonatomic strong

Definition at line 154 of file FlutterEngine.mm.

## ◆ spellCheckPlugin

- (FlutterSpellCheckPlugin*) spellCheckPlugin
| read write nonatomic strong

Definition at line 144 of file FlutterEngine.mm.

## ◆ systemChannel

- (FlutterBasicMessageChannel*) systemChannel
| read write nonatomic strong

Definition at line 156 of file FlutterEngine.mm.

## ◆ textInputChannel

- (FlutterMethodChannel*) textInputChannel
| read write nonatomic strong

Definition at line 151 of file FlutterEngine.mm.

## ◆ textInputPlugin

- (FlutterTextInputPlugin*) textInputPlugin
| read write nonatomic strong

Definition at line 142 of file FlutterEngine.mm.

## ◆ undoManagerChannel

- (FlutterMethodChannel*) undoManagerChannel
| read write nonatomic strong

Definition at line 152 of file FlutterEngine.mm.

## ◆ undoManagerPlugin

- (FlutterUndoManagerPlugin*) undoManagerPlugin
| read write nonatomic strong

Definition at line 143 of file FlutterEngine.mm.

The documentation for this category was generated from the following files:

- shell/platform/darwin/ios/framework/Source/FlutterEngine.mm
- shell/platform/darwin/ios/framework/Source/FlutterEngine_Internal.h
- shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm
- shell/platform/darwin/ios/framework/Source/FlutterViewControllerTest.mm