Adding a watch app to a Flutter iOS application

8,772

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

Share:
8,772
Steve
Author by

Steve

Privileged to work in a field that I love (most of the time), surrounded by clever people.

Updated on December 07, 2022

Comments

  • Steve
    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
    Steve over 5 years
    Thanks, 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
    Steve over 5 years
    Apologies, 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
    Steve about 5 years
    Just 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
    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
    Steve about 5 years
    @NickMowen I have added a comment to your github issue
  • Daniel Allen
    Daniel Allen over 4 years
    FWIW the Flutter team appears to have added Bitcode support in their master branch, and only for release builds.
  • AR89
    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)