| 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
(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
(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:
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
NSMutableDictionary * | pluginPublications
NSMutableDictionary< NSString *, FlutterEngineRegistrar * > * | 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
FlutterDartProject * | project
Properties inherited from <FlutterUndoManagerDelegate>
NSUndoManager * | undoManager
UIView< UITextInput > * | activeTextInputView
Properties inherited from <FlutterViewEngineDelegate>
FlutterPlatformViewsController * | platformViewsController

## Detailed Description

Definition at line 97 of file FlutterEngine.mm.

## Method Documentation

## ◆ 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 |  |  |

## ◆ platformPlugin

- (FlutterPlatformPlugin*) platformPlugin |  |  |

## ◆ platformTaskRunner

- (RefPtr<)fml: |  |  |

## ◆ rasterTaskRunner

- (RefPtr<)fml: |  |  |

## ◆ restorationPlugin

- (FlutterRestorationPlugin*) restorationPlugin |  |  |

## ◆ screenshot:base64Encode:

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

## ◆ 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 107 of file FlutterEngine.mm.

## ◆ connections

- (FlutterConnectionCollection*) connections
| read write nonatomic strong

Definition at line 121 of file FlutterEngine.mm.

## ◆ dartProject

- (FlutterDartProject*) dartProject
| read nonatomic assign

Definition at line 105 of file FlutterEngine.mm.

## ◆ embedderAPI

- (FlutterEngineProcTable&) embedderAPI
| read write nonatomic assign

Definition at line 150 of file FlutterEngine.mm.

## ◆ enableEmbedderAPI

- (BOOL) enableEmbedderAPI
| read write nonatomic assign

Definition at line 148 of file FlutterEngine.mm.

## ◆ flutterViewControllerWillDeallocObserver

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

Definition at line 119 of file FlutterEngine.mm.

## ◆ initialRoute

- (NSString*) initialRoute
| read write nonatomic copy

Definition at line 118 of file FlutterEngine.mm.

## ◆ isolateId

- (NSString*) isolateId
| read write nonatomic copy

Definition at line 117 of file FlutterEngine.mm.

## ◆ keyEventChannel

- (FlutterBasicMessageChannel*) keyEventChannel
| read write nonatomic strong

Definition at line 143 of file FlutterEngine.mm.

## ◆ labelPrefix

- (NSString*) labelPrefix
| read nonatomic copy

Definition at line 106 of file FlutterEngine.mm.

## ◆ lifecycleChannel

- (FlutterBasicMessageChannel*) lifecycleChannel
| read write nonatomic strong

Definition at line 140 of file FlutterEngine.mm.

## ◆ localizationChannel

- (FlutterMethodChannel*) localizationChannel
| read write nonatomic strong

Definition at line 131 of file FlutterEngine.mm.

## ◆ navigationChannel

- (FlutterMethodChannel*) navigationChannel
| read write nonatomic strong

Definition at line 132 of file FlutterEngine.mm.

## ◆ nextTextureId

- (int64_t) nextTextureId
| read write nonatomic assign

Definition at line 122 of file FlutterEngine.mm.

## ◆ platformChannel

- (FlutterMethodChannel*) platformChannel
| read write nonatomic strong

Definition at line 134 of file FlutterEngine.mm.

## ◆ platformPlugin

- (FlutterPlatformPlugin*) platformPlugin
| read write nonatomic strong

Definition at line 126 of file FlutterEngine.mm.

## ◆ platformViewsChannel

- (FlutterMethodChannel*) platformViewsChannel
| read write nonatomic strong

Definition at line 135 of file FlutterEngine.mm.

## ◆ platformViewsController

- (FlutterPlatformViewsController*) platformViewsController
| read write nonatomic strong

Definition at line 110 of file FlutterEngine.mm.

## ◆ pluginPublications

- (NSMutableDictionary*) pluginPublications
| read nonatomic assign

Definition at line 114 of file FlutterEngine.mm.

## ◆ project

- (FlutterDartProject*) project
| read nonatomic assign

Definition at line 88 of file FlutterEngine_Internal.h.

## ◆ publisher

- (FlutterDartVMServicePublisher*) publisher
| read write nonatomic strong

Definition at line 120 of file FlutterEngine.mm.

## ◆ registrars

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

Definition at line 115 of file FlutterEngine.mm.

## ◆ restorationChannel

- (FlutterMethodChannel*) restorationChannel
| read write nonatomic strong

Definition at line 133 of file FlutterEngine.mm.

## ◆ restorationEnabled

- (BOOL) restorationEnabled
| read nonatomic assign

Definition at line 108 of file FlutterEngine.mm.

## ◆ restorationPlugin

- (FlutterRestorationPlugin*) restorationPlugin
| read write nonatomic strong

Definition at line 130 of file FlutterEngine.mm.

## ◆ screenshotChannel

- (FlutterMethodChannel*) screenshotChannel
| read write nonatomic strong

Definition at line 144 of file FlutterEngine.mm.

## ◆ scribbleChannel

- (FlutterMethodChannel*) scribbleChannel
| read write nonatomic strong

Definition at line 138 of file FlutterEngine.mm.

## ◆ settingsChannel

- (FlutterBasicMessageChannel*) settingsChannel
| read write nonatomic strong

Definition at line 142 of file FlutterEngine.mm.

## ◆ spellCheckChannel

- (FlutterMethodChannel*) spellCheckChannel
| read write nonatomic strong

Definition at line 139 of file FlutterEngine.mm.

## ◆ spellCheckPlugin

- (FlutterSpellCheckPlugin*) spellCheckPlugin
| read write nonatomic strong

Definition at line 129 of file FlutterEngine.mm.

## ◆ systemChannel

- (FlutterBasicMessageChannel*) systemChannel
| read write nonatomic strong

Definition at line 141 of file FlutterEngine.mm.

## ◆ textInputChannel

- (FlutterMethodChannel*) textInputChannel
| read write nonatomic strong

Definition at line 136 of file FlutterEngine.mm.

## ◆ textInputPlugin

- (FlutterTextInputPlugin*) textInputPlugin
| read write nonatomic strong

Definition at line 127 of file FlutterEngine.mm.

## ◆ undoManagerChannel

- (FlutterMethodChannel*) undoManagerChannel
| read write nonatomic strong

Definition at line 137 of file FlutterEngine.mm.

## ◆ undoManagerPlugin

- (FlutterUndoManagerPlugin*) undoManagerPlugin
| read write nonatomic strong

Definition at line 128 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