flutter/packages/flutter_tools/templates
Loïc Sharma 86135b7774
[macOS] Migrate @NSApplicationMain attribute to @main (#146848)
This migrates Flutter to use the `@main` attribute introduced in Swift 5.3. The `@NSApplicationMain` attribute is deprecated and will be removed in Swift 6. See: https://github.com/apple/swift-evolution/blob/main/proposals/0383-deprecate-uiapplicationmain-and-nsapplicationmain.md

This change is split into two commits:

1. a508d3e503 - This updates the macOS app template and adds a migration to replace `@NSApplicationMain` uses with `@main`. 
2. f43482786e - I ran `flutter run -d macos` on each Flutter macOS app in this repository to verify the app migrates and launches successfully.

Follow-up to https://github.com/flutter/flutter/pull/146707
Fixes https://github.com/flutter/flutter/issues/143044
2024-04-18 03:08:36 +00:00
..
app Bump cupertino_icons to 1.0.6 (#136962) 2023-11-16 21:15:04 +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 [macOS] Migrate @NSApplicationMain attribute to @main (#146848) 2024-04-18 03:08:36 +00:00
app_test_widget/test [flutter_tools] Use proper project name in templates (#96373) 2022-02-02 06:50:14 -08:00
cocoapods Set template and migrate apps to iOS 12 minimum (#140823) 2024-01-03 00:47:40 +00:00
module Flutter templates example app Gradle memory settings (#146275) 2024-04-04 15:43:52 +00:00
package Bump flutter_lints to 3.0 (#136841) 2023-10-18 23:53:08 +00:00
package_ffi [deps] Bump native assets dependencies (#145612) 2024-03-25 15:02:49 +01:00
plugin flutter test --wasm support (#145347) 2024-03-21 20:08:07 +00:00
plugin_ffi [tools] Fix --template=plugin_ffi formatting (#146269) 2024-04-11 10:24:09 +00:00
plugin_shared flutter test --wasm support (#145347) 2024-03-21 20:08:07 +00:00
skeleton Bump flutter_lints to 3.0 (#136841) 2023-10-18 23:53:08 +00:00
xcode/ios/custom_application_bundle Migrate Xcode projects last version checks to Xcode 15.1 (#140256) 2024-01-03 23:05:46 +00:00
README.md FFI plugins (#96225) 2022-01-26 23:44:45 +01:00
template_manifest.json [deps] Bump native assets dependencies (#145612) 2024-03-25 15:02:49 +01: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.