Complications.exitTo custom CiQ App?

Hi,
I'm looking into complications for the first time.

It is really unclear (to me) in the documentation if Complications.exitTo() called from a Watchface can also be used to launch custom CIQ Apps, or just built-in ones from Garmin.
Is this supported or not?

Thx,
Florian

  • OK, i think this info from the docs only makes sense if the answer to my question is YES:

    If your complication publisher is launched via hold to launch, the state dictionary parameter of your will have the option :launchedFromComplication set to the complication id that triggered the launch.

  • The app you exitTo must be a complication publisher. 

    Here's a simple sample of a publisher and a watch face that uses it:

    Sample of CIQ Complication Publisher and Consumer of those Complications - Connect IQ App Development Discussion - Connect IQ - Garmin Forums

  • thanks for the sample.
    Am I seeing that right that your publisher is a widget? Does that actually work?

    I tried adding a complication to my existing widget, but I get "The 'ComplicationPublisher' permission is invalid for app type 'widget'." as an error message for my manifest.xml.
    From what I see in the docs, publishing should only be available in Apps and Audio content providers. I'd love for it to work from a widget since this is what I already have and it has a background process anyway, so why shouldn't it also publish the data it calculates. Do you do anything special to make it work with the widget?

    Thx, Flo

  • Not all devices support publishing.  What device are you trying to use?

    Here's widget I have in the store that's been publishing fine for a very long time for example, but only on devices that support complications.

    OWM Weather | Connect IQ Store

  • Here is the output when building for a fr945

    java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\James\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-9.2.0-2026-06-09-92a1605b2\bin\monkeybrains.jar -o bin\CompPub.prg -f c:\Users\James\workspace-prod\CompPub\monkey.jungle -y C:\Users\James\Google Drive\ciq.key -d fr945_sim -w --disable-api-has-check-removal

    WARNING: C:\Users\James\workspace-prod\CompPub\manifest.xml: The 'ComplicationPublisher' permission is invalid for app type 'widget'.
    WARNING: fr945: The launcher icon (30x30) isn't compatible with the specified launcher icon size of the device 'fr945' (40x40). The image will be scaled to the target size.
    BUILD SUCCESSFUL

    And for a fr955

    java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\James\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-9.2.0-2026-06-09-92a1605b2\bin\monkeybrains.jar -o bin\CompPub.prg -f c:\Users\James\workspace-prod\CompPub\monkey.jungle -y C:\Users\James\Google Drive\ciq.key -d fr955_sim -w --disable-api-has-check-removal

    WARNING: fr955: The launcher icon (30x30) isn't compatible with the specified launcher icon size of the device 'fr955' (40x40). The image will be scaled to the target size.
    BUILD SUCCESSFUL

    for devices starting with CIQ 4.0, widgets are actually built as device-apps

    Look at the monkey.jungle in the publisher I posted.  There's an xml involved that you only want to use with apps that can publish

  • Hi again & Thanks for the support.

    I'm trying to run it for fr955 right now, but have a large family of devices that the widget supports.
    I've raised the min api-level to 4.2 in the manifest. Have to check which devices that killed. Maybe its time to let those go anyway...
    I see you turn the type-check to 0 in the jungle. With that i think my build runs through.

    But I always get "Can't connect to Simulator" when F5ing in VS-Code. Maybe i can find out why and fix that.
    From your logs I assume you're on windows with SDK 9.2. I'm on Linux so maybe there's a gap there.
    I could just try blindly releasing my changes at least for the demo-app version of my widget and see if it works...

  • If you look at "compatible devices" for the OWM I provided a link to, you'll see devices back to the original vivoactive are supported but only devices with ciq 4 or greater can publish.  The others get the warning when exporting, but stall build.

    What type checking level are you using?  I generally use level 0.