1/ Technically, an iOS app can& #39;t use Bluetooth all the time.
As a consequence, a contact tracing app which use Bluetooth cannot work on iOS.
As a consequence, a contact tracing app which use Bluetooth cannot work on iOS.
2/ 3 weeks ago, Singapore published a contact tracing app to fight #Covid19. The ratings of the iOS app are quite bad https://apps.apple.com/sg/app/tracetogether/id1498276074">https://apps.apple.com/sg/app/tr...
3/ The first available rating is quite clear: "Why would the user want to keep this app open and on foreground?"
4/ The devs of the app answered to the comment with the technical documentation and refered to the Power Saver Mode they implemented.
5/ The Apple documentation "Core Bluetooth Background Processing for iOS Apps" is quite clear: "By default, many of the common Core Bluetooth tasks [..] are disabled while your app is in the background or in a suspended state" https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html">https://developer.apple.com/library/a...
6/ It can& #39;t be more clear: "Even if your app supports one or both of the Core Bluetooth background execution modes, it can’t run forever"
8/ This is really not a good solution but they had no choice. They asked to their users to keep the app in the foreground and they reduce the brightness of the screen
9/ Keeping the app in the foreground all the time will drain your battery very quickly
10/ So yeah, a contact tracing app on iOS can& #39;t work because of this limitation.
"I would like to do other stuff on my my phone while I am commuting, at work, eating, etc."
"I would like to do other stuff on my my phone while I am commuting, at work, eating, etc."
11/ Yes, Apple can probably fix it and remove this limitation for his upcoming "Privacy preserved contact tracing API". But man, it will be a huge precedent.
12/ These last years, Apple and Google limited more and more what devs can do in the background.
"To improve the user experience, Android 8.0 (API level 26) imposes limitations on what apps can do while running in the background"
https://developer.android.com/about/versions/oreo/background">https://developer.android.com/about/ver...
"To improve the user experience, Android 8.0 (API level 26) imposes limitations on what apps can do while running in the background"
https://developer.android.com/about/versions/oreo/background">https://developer.android.com/about/ver...
13/ "To improve the user experience": LOL
Background services is a big source of abuse on Android. Malware authors use that all the time. This is why they "imposes limitations on what apps can do while running in the background"
Background services is a big source of abuse on Android. Malware authors use that all the time. This is why they "imposes limitations on what apps can do while running in the background"
14/ The Apple / Google API has an other disadvantage. If a government want to publish a functional contact tracing app he is force to use this API. As a politician, when you spend your time talking about the digital sovereignty, about how bad are the GAFA, it& #39;s an issue.
15/ So yes, this is not magic.
16/ Contact tracing apps with Bluetooth is a technical non sense. I wrote a 5 pages article on why it can& #39;t work technically. It will be published soon.