Why is the temperature shown on the icon inaccurate?

Most apps use Push Notifications to update the icon badge, but that can cause a hit to the battery because the notifications wake up your device at inopportune times and forces it to open a data connection.

In iOS 7 Apple did some really cool stuff with their background APIs. Rather than having each app access the internet randomly to update, the system can allow apps to update when the device is already connected to the internet doing something else. We chose to use this implementation over push notifications in Perfect Weather since it should be more power efficient and we were able to offer it for free since we don't have to pay for a server and bandwidth to send the push notifications.

Since Background App Refresh works by watching your usage patterns it may take a few days for the badge to start updating more frequently as iOS figures out your usage patterns. If you use your iOS device infrequently the badge will update less frequently.

If Background App Refresh is turned off in the Settings app, the temperature on the icon will only update when the app is launched. Similarly, if you manually close Perfect Weather from the app switcher, Background App Refresh is turned off until you launch the app again.