Acknowledged

[INVALID] Compiler insists that compilation resource IDs (indices) are contiguous and start at 1

e.g. If you publish two complications, their IDs have to be "1" and "2".

To me this is an issue because it means that there's no good way to deprecate (unpublish) a published complication. If you remove a complication and add a new one to the same app, you'll have to reuse the resource ID which means reusing the unique Toybox.Complication.Id (which consists of native type, CIQ app ID, and CIQ resource index).

In other words, if I subscribe to complication Y from app X, and app X's developer decides to remove Y and add complication Z, I will now be subscribed to complication Z, which is not what I wanted.

The only alternative is to never remove a complication once it's been published.

In an ideal world, this restriction on compilation IDs would be removed.

Sorry, I was mistaken. Please close!

Parents
  • From the doc, "If you are developing a device or audio content provider apps, you can publish up to four complications to the framework."

    I'm publish complications with id's of 0,1,2 (that order).  They don't need to start at 1.  They just need to be 0 to 255.

    I changed my app so I use 0,12,2 (in that order) and it's still working fine.

    Maybe you need to post code that demonstrates your issue, as I don't see it.

Comment
  • From the doc, "If you are developing a device or audio content provider apps, you can publish up to four complications to the framework."

    I'm publish complications with id's of 0,1,2 (that order).  They don't need to start at 1.  They just need to be 0 to 255.

    I changed my app so I use 0,12,2 (in that order) and it's still working fine.

    Maybe you need to post code that demonstrates your issue, as I don't see it.

Children