I have a watch face for old and new devices. It includes options for temperature and on-device settings for compatible devices, which are distinguished by annotations. Anything above 1.4 uses OpenWeatherMap, which requires background processes. 3.2 and up also has Garmin Weather as an option.
It works fine with SDK 4.1.5, but with 4.1.6 and 4.1.7, I get several "Undefined symbol" error messages for devices older than 1.4 such as the FR230.
Following the error messages, there is a warning that the :background annotation will be ignored. Well, if it's being ignored, why am I getting an error for BkgdServiceDelegate? Seems kind of ironic.
I turned off type checking in the settings, and it didn't help.
Is there anything I can do to avoid these errors in SDK 4.1.7? Or do I have to go back to 4.1.5? (Or create two separate apps?)
EDIT: I figured it out. I looked at the error messages more closely and realized I was looking in the wrong file. I needed to insert a couple more annotations as well as empty functions to accommodate more scenarios. (I was calling the temperature function in onUpdate but it was annotated only for newer devices. Making an empty temperature function for older devices did the trick.) Works now. I can see that the new SDK helps to make sure things are covered better. Thanks for the improvements.