Weird issue in app phone setting

So, I have this app who has a readonly setting showing the compiled version number when in the app parameters on the phone. It's currently siting at 7.9.1. but a user with a Fenix 7 still see 7.7.0 in that field. I know he has the latest version since a bug fix I did last night do work for him. Looking inside the 006-B3906-00 (Fenix 7 one) folder of the .iq file I uploaded last night, I can't see 7.7.0 anywhere but do see 7.9.1 in both the 006-B3906-00-settingd.json and even the .prg binary. So all is good on that side.

One thing I didn't ask him to do is reboot is phone. Has anyone experience this in the past? Has to be a phone issue, right?

  • When do you do the Properties.setValue() for the version number?  If 7.7.0 is already there, it won't change to 7.9.0 by just updating the app.  Otherwise, settings would be reset each time the user updated the app.

  • I don't. It's a read only property defined only like this:

    In properties.xml

    <properties>
        <property id="AppVersion" type="string">7.9.1</property>

    In settings.xml

    <settings>
        <setting propertyKey="@Properties.AppVersion" title="@Strings.AppVersionTitle">
            <settingConfig type="alphaNumeric" readonly="true"/>

    It's not touched anywhere in the code.

  • That's the problem.  If the user was using 7.7.0. that's what is in the set file.  After an update, even if that has 7.9.1, it won't changes what's in the .set file.  If you want it to reflect the actual version, you need to do a setValue in your code.

  • Hmm, so when the user update the app through the phone and then go to the settings, since the app hasn't run yet, he'll still see the wrong version, right? How to prevent that, or is it even worth it to show the version in the settings?

  • Most times, I don't show the version number, but when I do, it's on the first screen.  If you have a menu in your app, you could also show it there.  Trying to use app settings has the issues you see.

  • Ok, thanks. I'll take it out.

  • What about this? No properties, just strings, through a group tag.

    settings.xml

    <settings>
        <group id="Main" title="@Strings.AppName" description="@Strings.AppVersion">

    Nothing in properties.xml. I only have to have AppVersion defined in the default language and it seems to be working fine in other languages, beside (one more) warning at compile time.