Signature Check failed after upgrading to SDK 7.x.x

I have a datafield that builds and sideloads successfully onto my Fenix 5S Plus with SDKs <= 6.4.2.

When I upgrade to any SDK 7.x.x version, the build is successful BUT sideload fails due to Signature check. I didn't change the developer key and I've also uninstalled older versions of the datafield from the IQ store.

I've seen a couple of comments that mentions this issue, but there's no discussion on it. Any help on this would be appreciated!

---
Error: 'Signature check failed on file: mydatafield'
Time: 2024-09-04T20:26:43Z
Part-Number: 006-B2900-00
Firmware-Version: '19.30'
Language-Code: eng
---

Top Replies

All Replies

  • We build the datafield for multiple watches (new and some old), so for testing, I typically don't specify the device.

    Oh I was gonna say that with a recent firmware change, it doesn't seem possible to sideload a PRG built for a different kind of device on to a newer device anymore. I didn't mention it bc I assumed you were always targeting your build to the actual device type.

    I didn't think there was a SDK version dependency though. I've recently tried sideloading a few old watchfaces built for older devices to my FR955 - these watchfaces were successfully sideloaded in the past, but not anymore.

    I also noticed that on newer devices, *all* PRGs are "hidden" (unavailable) from the file system now. (Previously it was only PRGs for a subset of app types that were hidden.)

    In short, it seems security / validation around PRGs has been beefed up. (I'm guessing part of this is related to monetization.)

    EDIT: but what I said above most likely doesn’t apply to a device as old as Fenix 5S Plus (especially given the SDK dependency.) Kyle.ConnectIQ’s comment below is the answer

  • When you export an app for the store it builds a PRG targeting each device listed in the manifest file, so this won't be a problem. In the 7.0 SDK we optimized a few things to reduce the PRG size, but it also required a firmware update on devices to take advantage of them. The compiler should be generating the correct PRG based on the target device. If building without a target device then it'll include the optimizations, which will cause the error you were seeing on older devices.

    When side loading an app you should always load a PRG that was built for that specific device. There are a few other things that can be different in the PRG that could cause problems running on different devices.

  • I use my Venu3 to test the application and until latest firmware upgrade i was able to sideload the app to the device via usb cable by copying PRG file. After latest firmware on Venu3 i am getting the Signature check failed error and even old App is now not showing app on device.


    Error: 'Signature check failed on file: MyApp'
    Time: 2025-06-19T09:05:35Z
    Part-Number: 006-B4260-00
    Firmware-Version: '14.15'
    Language-Code: eng

    Build command:

    java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar /Users/stkec/Library/Application Support/Garmin/ConnectIQ/Sdks/connectiq-sdk-mac-7.3.1-2024-09-23-df7b5816a/bin/monkeybrains.jar -o /Users/stkec/garmin/projects/myApp/dist/myApp.prg -f /Users/stkec/garmin/projects/myApp/monkey.jungle -y /Users/stkec/garmin/developer_key -d venu3 -w

    What should i change to make it working again?

  • Thanks for your reply, i was using 7.3.1 and it started failing after firmware updated on device. As it stands in a post you pointed, for the "beta" builds the 7.4 or later is required, but i didn’t seem opted for any beta updates.

    In any case - updating SDK to latest worked for me. Thank you!

  • Since the post I linked, beta FW is becoming production FW.

    The latest SDK is now 8.2.0 and you probably want to use that along with the latest devices you see in the SDK Manager.