Gmail, Calendar & Contacts. Manage all your Gmail, Calendar and Contacts accounts in Mailplane instead of cluttering up your browser window. All-in-one app with Apple-like keyboard shortcuts. No separate set-up required. Mailplane's notifier lets you know how many unread messages are in your inboxes, right from your Mac's menu bar. Starting with macOS 10.14 Mojave, Apple has introduced a new security feature that ensures third-party applications work safely with your data. In short, you need to manually grant permission to your apps, so they can work with files on. Desktop App 3.9.1 for Mac Release Date: Nov 20, 2020 macOS Big Sur support Supports Big Sur, the latest version of macOS. Additional fixes In addition to the above enhancement, the update also c. For most (if not all) of Google's free Products (e.g., Gmail, YouTube, Hangouts, etc.), Google doesn't provide a direct way to contact them from a phone, email or chat without being a 1 Google One (One) customer. Gmail for Mac is perfect for quickly accessing your Gmail account without ever needing to open a web browser. The app is fully feature packed and built for speed and ease of use.
Desktop support allows you to compile Flutter source codeto a native Windows, macOS, or Linux desktop app. Flutter’s desktopsupport also extends to plugins—you can install existing plugins that support the macOS or Linux platforms,or you can create your own.
Warning:Alpha! This page covers desktop support, which is available as alpha-quality features in the Flutter dev channel. Support still has notable feature gaps, including accessibility support.
Note: To compile a desktop app, you must build the app on the targeted platform: build a Windows app on Windows, a macOS app on macOS, and a Linux app on Linux. If you experience a problem that hasn’t yet been reported, please file an issue and include “desktop:macos/linux/windows” (whichever platform is appropriate) in the title.
To create a Flutter app with desktop support, you need thefollowing software:
For Windows desktop development,you need the following in addition to the Flutter SDK:
For macOS desktop development,you need the following in addition to the Flutter SDK:
For Linux desktop development,you need the following in addition to the Flutter SDK:
The easiest way to install the Flutter SDK along with thesedependencies is by using snapd.For more information, see Installing snapd.
Once you have
snapd, you can install Flutter using the Snap Store,or at the command line:
snapd is unavailable on the Linux distro you’re using,you might use the following command:
You can use the following stepsto create a new project with desktop support.
At the command line, perform the following commands tomake sure that you have the latest desktop support and thatit’s enabled. If you see “flutter: command not found”,then make sure that you have installed theFlutter SDK and that it’s in your path.
Where <platform> is
To ensure that desktop is installed,list the devices available.You should see something like the following(you’ll see Windows, macOS, or Linux,depending on which platforms you’ve enabled):
You might also run
flutter doctor to see if there areany unresolved issues. It should look something likethe following on Windows:
On macOS, you might see something like the following:
On Linux, you might see something like the following:
flutter doctor finds problems for a platform you don’tsupport, you can ignore those warnings. You don’t haveto install Android Studio and the Android SDK,for example, if you’re writing a Linux desktop app.
After enabling desktop support, restart your IDE.You should now see windows (desktop), macOS (desktop), or linux (desktop) in the device pulldown.
Note: You only need to execute
flutter config --enable-<platform>-desktop once. You can always check the status of your configuration using the no-argument
flutter config command.
Creating a new project with desktop support is no differentthan creating a new Flutter project for other platforms.
Once you’ve configured your environment for desktopsupport, you can create and run a desktop app eitherin the IDE or from the command line.
After you’ve configured your environment to supportdesktop, make sure you restart the IDE if it wasalready running.
Create a new app in your IDE and it automaticallycreates iOS, Android, and desktop versions of your app.(And web, too, if you’ve enabled web support.)From the device pulldown, select windows (desktop),macOS (desktop), or linux (desktop)and run your app to see it launch on the desktop.
To create a new app that includes desktop support(in addition to mobile support), run the following commands,substituting
myapp with the name of your project:
To launch your app from the command line,enter one of the following commands from the topof the package:
Note: If there aren’t any other connected devices, the
-d <platform> tag is optional.
To generate a release build run one of the following commands:
In general, we don’t recommend releasing a desktop app untildesktop support is stable.There are not yet full instructions, or tooling support,for making distributable applications. However,here is some information about how to use the currentbuild output on other machines for testing purposes.
The executable can be found in your project under
buildwindowsrunner<build mode>.In addition to that executable, you need the following:
application-localoption, you need to copy:
Place the DLL files in a directory next to the executableand the other DLLs, and bundle them together in a zip file.
.app is self-contained, and can be distributed as-is.
For information on publishing a Linux app to theSnap Store, seeBuild and release a Linux desktop app.
As the tooling solidifies, stay tuned for updates on other waysto distribute a Linux desktop app.
To add desktop support to an existing Flutter project,run the following command in a terminal from theroot project directory:
This adds the necessary desktop files and directories to yourexisting Flutter project.
The following information applies only to macOS development.
macOS builds are configured by default to be signed,and sandboxed with App Sandbox.This means that if you want to confer specificcapabilities or services on your macOS app,such as the following:
Then you must set up specific entitlements in Xcode.The following section tells you how to do this.
Managing sandbox settings is done in the
macos/Runner/*.entitlements Free download mac os x. files. When editingthese files, you shouldn’t remove the original
Runner-DebugProfile.entitlements exceptions(that support incoming network connections and JIT),as they’re necessary for the
profilemodes to function correctly.
If you’re used to managing entitlement files throughthe Xcode capabilities UI, be aware that the capabilitieseditor updates only one of the two files or,in some cases, it creates a whole new entitlementsfile and switches the project to use it for all configurations.Either scenario causes issues. We recommend that youedit the files directly. Unless you have a very specificreason, you should always make identical changes to both files.
If you keep the App Sandbox enabled (which is required if youplan to distribute your app in the App Store), you need to manageentitlements for your application when you add certain pluginsor other native functionality. For instance, using the
file_chooser plugin requires adding either the
com.apple.security.files.user-selected.read-write entitlement.Another common entitlement is
com.apple.security.network.client,which you must add if you make any network requests.
com.apple.security.network.client entitlement,for example, network requests will fail with a message such as:
com.apple.security.network.server entitlement, which allows incoming network connections, is enabled by default only for
profile builds to enable communications between Flutter tools and a running app. If you need to allow incoming network requests in your application, you must add the
com.apple.security.network.server entitlement to
Runner-Release.entitlements as well, otherwise your app will work correctly for debug or profile testing, but will fail with release builds.
For more information on these topics,see App Sandbox and Entitlementson the Apple Developer site.
If you choose to distribute your application outsideof the App Store, you need to notarize your applicationfor compatibility with macOS 10.15+.This requires enabling the Hardened Runtime option.Once you have enabled it, you need a valid signingcertificate in order to build.
By default, the entitlements file allows JIT for debug builds but,as with App Sandbox, you may need to manage other entitlements.If you have both App Sandbox and Hardened Runtime enabled,you may need to add multiple entitlements for the same resource.For instance, microphone access would require both
com.apple.security.device.audio-input (for Hardened Runtime)and
com.apple.security.device.microphone (for App Sandbox).
For more information on this topic,see Hardened Runtime on the Apple Developer site.
Flutter on the desktop supports using and creating plugins.
To use a plugin that supports desktop,follow the steps for plugins in using packages.Flutter automatically adds the necessary native codeto your project, as with iOS or Android.
We recommend the following plugins, which have beenupdated to work for desktop apps:
Use the following links to find all packages on pub.devthat support desktop apps. These links lists all packages,not just plugin packages. (Remember that plugin packages,or plugins, provide an interface to platform-specific services.)
When you start building your own plugins,you’ll want to keep federation in mind.Federation is the ability to define several different packages,each targeted at a different set of platforms,brought together into a single plugin for ease of use by developers.For example, the Windows implementation of the
url_launcher is really
url_launcher_windows, but a Flutter developer can simply add the
url_launcher package to their
pubspec.yaml as a dependency and thebuild process pulls in the correct implementation based on the target platform.Federation is handy because different teams with different expertisecan build plugin implementations for different platforms.You can add a new platform implementation to anyendorsed federated plugin on pub.dev, so long as you coordinatethis effort with the original plugin author.
For more information, including information about endorsed plugins,see the following resources:
You can run the following samples as desktop apps,as well as download and inspect the source code tolearn more about Flutter desktop support.
Here's how to add photos, videos, and other files on macOS 11 Big Sur using the ibi desktop app: