Adding a watch app to a Flutter iOS application
Solution 1
Flutter doesn't support Apple Watch apps due to the fact that it lacks Bitcode support for iOS as discussed in this GitHub issue.
You can track the state of Adding Bitcode support for iOS - Flutter GitHub issue, but currently it seems to have a low priority for the Flutter development team.
Solution 2
looks like apple watch development is supported in flutter now. here is an example:
https://github.com/magnatronus/flutter-watchtips
Steve
Privileged to work in a field that I love (most of the time), surrounded by clever people.
Updated on December 07, 2022Comments
-
Steve over 1 year
I have come across an issue when trying to create a Flutter iOS app with a watch app extension.
For testing I have simply created a default Flutter app using
flutter create watchapp
When this is run I get the standard demo Flutter app.
If I then open the ios/Runner.xcworkspace project in Xcode and add a new target to the project (File->New->Target) and selecting watchOS->Watchkit App it will generate the watch app.
The problem I have come across is when running the app again (with flutter run) I get the following error.
Xcode build done. 1.2s Failed to build iOS app Error output from Xcode build: ↳ ** BUILD FAILED ** Xcode's output: ↳ === BUILD TARGET mywatch Extension OF PROJECT Runner WITH CONFIGURATION Debug === target specifies product type 'com.apple.product-type.watchkit2-extension', but there's no such product type for the 'iphoneos' platform
I am looking at building a Flutter plugin that will communicate with a Watch app but unless I can get Flutter to run with an added watch app there is not a lot of point.
Does anyone have any suggestions?
Flutter: 0.9.4, Xcode: 10.0
update: Just for clarity I am adding the WatchApp as a new target in the Runner project as a Swift app, I am not looking at using Flutter/Dart to create the WatchApp.
-
Steve over 5 yearsThanks, but I am not looking to create a WatchOS app in Flutter/Dart. The watch app is added as a swift app to the iOS Runner project, which, at least I think, should be possible. I have added other extensions to a Flutter iOS app this way such as a keyboard extension, but for some reason the Watch app is not working.
-
Steve over 5 yearsApologies, I did not read right down the links you suggested , I understand now - "In an Add2App scenario, anyone using Flutter in their app can no longer use bitcode, and all targets/projects in their workspace will have to disable it."
-
Steve about 5 yearsJust in case anyone is interested I have now managed to create and publish to the AppStore a Flutter app with an associated Watch Kit app. Source for the app is here
-
Nick Mowen about 5 years@Steve I am currently trying to add a Today Extension to my flutter app and seem to be having a similar issue (described here: github.com/flutter/flutter/issues/29531) do you have any input on how to solve this?
-
Steve about 5 years@NickMowen I have added a comment to your github issue
-
Daniel Allen over 4 yearsFWIW the Flutter team appears to have added Bitcode support in their master branch, and only for release builds.
-
AR89 almost 4 years@Steve I need to do the same but my project has plugins so there is a Podfile and it tries to link the frameworks of the plugins to the WatchOS Extesnion (and fails)