This PR removes the view ID check added in https://github.com/flutter/engine/pull/51738, which has been causing a test `FlutterEngineTest.CompositorIgnoresUnknownView`, added in https://github.com/flutter/engine/pull/51436, to fail. This problem was missed by the CI because the test and the view ID check were added in two PRs recently and they were not using the latest engine to check. The view ID check is not needed anyway, and is only a temporary check until the multiview support is landed. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Flutter macOS Embedder
This directory contains files specific to the Flutter macOS embedder. The embedder is built as a macOS framework that is linked into the target application. The framework is composed both of macOS-specific code and code shared with the iOS embedder. These can be found in:
flutter/shell/platform/darwin/common/framework
flutter/shell/platform/darwin/macos/framework
Additionally, the framework relies on utility code shared across all embedders, which is found in:
flutter/shell/platform/common
To learn more, see the Engine architecture wiki.
Building
Building all artifacts required for macOS occurs in two steps:
- Host binary build: Builds tooling used by the Flutter tool to build Flutter applications targeting macOS.
- macOS Target build: Builds the framework that implements the macOS Flutter
embedder and exposes public API such as
FlutterViewControllerused by Flutter applications.
Once you've prepared your environment for engine development,
you can build the macOS embedder from the src/flutter directory using the
following commands:
# Perform the host build.
./tools/gn --unopt --no-goma
autoninja -C ../out/host_debug_unopt
# Perform the macOS target build.
./tools/gn --unopt --mac --no-goma
autoninja -C ../out/mac_debug_unopt
Builds are architecture-specific, and can be controlled by specifying
--mac-cpu=arm64 or --mac-cpu=x64 (default) when invoking gn.
Googlers can remove --no-goma to make use of the Goma distributed compile
service.
Testing
The macOS-specific embedder tests are built as the
flutter_desktop_darwin_unittests binary. Like all gtest-based test binaries, a
subset of tests can be run by applying a filter such as
--gtest_filter='FlutterViewControllerTest.*Key*'.
More general details on testing can be found on the Wiki.