flutter/packages/flutter_tools/templates
Victoria Ashworth d631b26285
New tooling for iOS 17 physical devices (#131865)
This PR includes the following changes. These changes only apply to iOS 17 physical devices.

| Command | Change Description  | Changes to User Experience |
| ------------- | ------------- | ------------- |
| `flutter run --release` | Uses `devicectl` to install and launch application in release mode.  | No change.  |
| `flutter run`  | Uses Xcode via automation scripting to run application in debug and profile mode. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. |
| `flutter run --use-application-binary=xxxx` | Creates temporary empty Xcode project and use Xcode to run via automation scripting in debug and profile. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal.  |
| `flutter install` | Uses `devicectl` to check installed apps, install app, uninstall app.  | No change.  |
| `flutter screenshot` | Will return error.  | Will return error.  |

Other changes include:
* Using `devicectl` to get information about the device
* Using `idevicesyslog` and Dart VM logging for device logs

Note:
Xcode automation scripting (used in `flutter run` for debug and profile) does not work in a headless (without a UI) interface. No known workaround.

Fixes https://github.com/flutter/flutter/issues/128827, https://github.com/flutter/flutter/issues/128531.
2023-08-09 19:25:12 +00:00
..
app Fix template app documentation (#131125) 2023-07-27 22:42:16 +00:00
app_integration_test/integration_test Add an integration test to plugin template example (#117062) 2022-12-15 19:49:14 +00:00
app_shared Update links to old linter site to dart.dev (#129866) 2023-07-01 18:36:10 +00:00
app_test_widget/test [flutter_tools] Use proper project name in templates (#96373) 2022-02-02 06:50:14 -08:00
cocoapods Add native unit tests to iOS and macOS templates (#117147) 2022-12-21 19:10:22 +00:00
module Upgrade compile and target sdk versions in tests and benchmarks (#131428) 2023-07-31 18:10:24 +00:00
package Remove .pub directories from iml templates (#109622) 2022-09-09 22:20:12 +00:00
plugin Remove @NonNull to avoid warning (#129472) 2023-06-29 21:34:31 +00:00
plugin_ffi Use Flutter app project's NDK version from FFI plugin (#131141) 2023-07-31 10:09:24 +00:00
plugin_shared [Refactor] fix quote style in template (#127762) 2023-06-02 16:11:51 +00:00
skeleton [flutter_tools] modify Skeleton template to use ListenableBuilder instead of AnimatedBuilder (#128810) 2023-07-06 15:14:51 +00:00
xcode/ios/custom_application_bundle New tooling for iOS 17 physical devices (#131865) 2023-08-09 19:25:12 +00:00
README.md FFI plugins (#96225) 2022-01-26 23:44:45 +01:00
template_manifest.json New tooling for iOS 17 physical devices (#131865) 2023-08-09 19:25:12 +00:00

This directory contains templates for flutter create.

The *_shared subdirectories provide files for multiple templates.

  • app_shared for app and skeleton.
  • plugin_shared for (method channel) plugin and plugin_ffi.

For example, there are two app templates: app (the counter app) and skeleton (the more advanced list view/detail view app).

  ┌────────────┐
  │ app_shared │
  └──┬──────┬──┘
     │      │
     │      │
     ▼      ▼
┌─────┐    ┌──────────┐
│ app │    │ skeleton │
└─────┘    └──────────┘

Thanks to app_shared, the templates for app and skeleton can contain only the files that are specific to them alone, and the rest is automatically kept in sync.