Device Counts

I list 73 devices in the manifest. It compiles for 128. Can I find a listing of the actual 128 devices it is built for?

When I look in the Store, it does list 116 unique devices, by separating out these as distinct. So that is closer to the 128.

Edge® 840
Edge® 840, Edge® 840 Dual Power

  • The iq file is in zip format and it includes it's own manifest file as well as a folder per part number.  What you are seeing is likely a difference with regional part numbers 

    For example, a given device could have a WW part number and an APAC one

  • Just built an iq for one of my apps that's been in the store for a long time, where it supports many device, and it shows I built for 282 devices.

  • You can map part numbers to the display names for real-world models, by looking at the same API that the Connect IQ store website uses.

    [https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes] [*]

    This may not help much in your case, as it just returns the same display names that you see in the Connect IQ store website compatible devices tab for a given app.

    But at least you can see *which* part number maps to *which* model. This can be useful when you get build messages about part numbers being excluded, and you want to know which variants those part numbers actually correspond to.

    Each CIQ device ID (like fenix7x) typically corresponds to a single hardware platform (note that each device folder corresponds to one device ID and has one hardwarePartNumber in compiler.json), and each device ID / hardware platform can consist of one or more software variants, represented by (software) part numbers (i.e. the partNumbers array in compiler.json).

    Not only do separate part numbers for the same CIQ device ID represent regional variants (WW vs APAC), they also represent other types of software variants (which is why they are called software part numbers in other contexts).

    For example: 

    - the venu2 device has 4 part numbers, corresponding to WW, APAC, WW Mercedes-Benz, APAC Mercedes-Benz. (Here the variants consist of every combo of WW vs APAC and "normal" vs Mercedes-Benz)

    - the fenix7x device has 4 part numbers, corresponding to: fenix 7X WW, fenix 7X APAC, tactix 7, Enduro 2 [**]

    Furthermore, most newer devices don't have separate WW and APAC part numbers anymore. Most older devices do, though.

    --

    [*] This API also returns the urlName for each part number, which can be used to obtain a URL for the store which filters apps by model / part number. For example, we can see that the urlName for B4536 / 'Fenix 8 AMOLED 47mm/51mm", is fenix8-51mm, so you can use the following URL to filter by this model in the store: [https://apps.garmin.com/devices/fenix8-51mm/apps]. In the past, the url was easily guessable from the device name (like apps.garmin.com/.../forerunner935/apps), but not so much for Fenix 8 models. I know that you can always use Garmin Express to access the url if you own the device, but some people want to see the available apps before they buy the device, which is why the question came up before.

    [**] funny history here: Garmin once removed the Enduro 2 part number from compiler.json because the Enduro 2 firmware was supposed to be changed to use the main fenix 7X WW part number. But it didn't happen and for months devs couldn't build for Enduro 2. In the end they put the part number back anyway, for display purposes

  • I will also point out that part numbers that are compiled [as represented in compiler.json] and the part number descriptions in the Connect IQ store website may not match reality [or the Connect IQ phone app]

    For example, recently someone complained that their app is listed in the store website as supporting Tactix 8, but the CIQ app store doesn't show this support and it doesn't install on Tactix 8 watches. This app was last updated in January, before Tactix 8 was released (in February)

    It turns out that Garmin did 2 things at some point.

    1] For the existing main part numbers in the fenix847mm and fenix8solar51mm devices, they changed the display name in the deviceTypes mapping to include "Tactix 8".

    Here's the part numbers, the original names and the new names:

    - fenix847mm: 006-B4536-00

    Old display name: "fēnix® 8 AMOLED [47mm/51mm]"

    New display name: "fēnix® 8 AMOLED [47mm/51mm] / quatix® 8 AMOLED [47mm/51mm] / tactix® 8 AMOLED [47mm/51mm]"

    - fenix8solar51mm: 006-B4533-00

    Old display name: "fēnix® 8 Solar [51mm]"

    New display name: "fēnix® 8 Solar [51mm] / fēnix® 8 Dual Power [51mm] / tactix® 8 Solar [51mm]"

    But these part numbers won't actually install on Tactix 8 [according to reports].

    It's notable that the Connect IQ phone app does *not* use the same mapping. It never combines shows multiple real world devices on one line [even if they have the same part numbers], it doesn't show "Tactix 8" for those two part numbers

    2] They added a new part number to each of those 2 devices which is only for Tactix 8 variants:

    fenix847mm: 006-B4775-00 - "tactix® 8 – 47 mm, AMOLED"

    fenix8solar51mm: 006-B4776-00 - "tactix® 8 – 51 mm, Solar"

    Apps supporting these part numbers apparently do install on Tactix 8 devices.

  •  

    This means that anyone who last updated an app before February with support for fenix847mm and fenix8solar51mm only gets support for 006-B4536 and 006-B4533-00, which won't install on Tactix 8, even though the store website compatible devices tab says otherwise.

    Anyone who updated app with support for fenix847mm and fenix8solar51mm later on also gets support for the new Tactix 8-only part numbers - 4775 and 4776, and their app will actually install on Tactix 8. Funnily enough it means that the store website compatible devices tab will show double entries for Tactix 8, like this:

    "fēnix® 8 AMOLED [47mm/51mm] / quatix® 8 AMOLED [47mm/51mm] / tactix® 8 AMOLED [47mm/51mm]"

    "tactix® 8 – 47 mm, AMOLED"

    "fēnix® 8 Solar [51mm] / fēnix® 8 Dual Power [51mm] / tactix® 8 Solar [51mm]"

    "tactix® 8 – 51 mm, Solar"

    --

    Like I said the Connect IQ store app doesn't have this exact problem [with Tactix 8]. It apparently uses a different mapping as the exact wording the device names is different, but I don't know of any way to access that mapping.