3 dingen die Apple wat mij betreft moet oplossen in de Screen Time API

Waar ik tegenaan liep bij het bouwen van dezelfde app blocker voor iPhone en Android. Door Thomas Willheim · 30 september 2026

Ik maak HonorFit, een app blocker waarmee je schermtijd verdient door op te drukken (op erewoord, geen camera). Het is dezelfde app op iPhone en Android, hetzelfde idee, en grotendeels dezelfde code. En eerlijk gezegd? De Android-versie is fijner in gebruik.

Dat komt niet doordat Android beter is in het blokkeren van apps. De Screen Time API van iOS is juist heel degelijk in het blokkeren zelf. Het komt doordat iOS je op drie specifieke punten beperkt, en geen van die beperkingen lijkt er te zijn om gebruikers te beschermen. Dus hier is mijn lijstje, met wat ik Apple zou vragen. Ik heb geprobeerd het te houden bij dingen die niemand privacy kosten.

(Wil je de technische kant van bouwen op deze API, dan heb ik die apart beschreven: wat de documentatie van Apple je niet vertelt.)

1. Je kunt maar één Schermtijd-app tegelijk hebben

Stel dat je Brick, Opal of one sec al gebruikt en HonorFit er ook bij wilt proberen. Op de iPhone kan dat niet. Als de tweede app toegang tot Schermtijd vraagt, laat iOS niet eens de toestemmingsvraag zien. Het gooit gewoon een foutmelding dat Family Controls maar voor één app tegelijk beschikbaar is. Ik heb die fout zelf gezien, en andere ontwikkelaars lopen er ook tegenaan.

Om te wisselen moet je naar Instellingen › Schermtijd › Apps met toegang tot Schermtijd, de andere app uitzetten en soms je telefoon herstarten. HonorFit herkent die fout nu en loodst mensen erdoorheen, want de kale foutmelding zegt een normaal mens helemaal niets.

Melding van HonorFit op de iPhone: een andere app gebruikt Schermtijd. iOS laat maar één app tegelijk Schermtijd beheren, met stappen om de andere app uit te zetten in Instellingen
Wat iPhone-gebruikers in HonorFit zien als een andere app al toegang tot Schermtijd heeft. iOS zelf geeft de app alleen een foutmelding, dus deze uitleg komt van ons.

Het rare is: toen Apple dit soort toestemming introduceerde op WWDC22, zeiden ze dat individuele toestemming, anders dan toestemming voor ouderlijk toezicht, door een onbeperkt aantal apps op een toestel gebruikt kan worden. Zo werkt het vandaag niet, en ik kon het nergens gedocumenteerd vinden.

Waarom dit niet in het belang van gebruikers is: mensen combineren hulpmiddelen. Iemand gebruikt misschien een Brick voor diepe focussessies op het werk en HonorFit om zijn scrolltijd voor de avond te verdienen. Apple heeft al een regel voor het combineren van beperkingen: als meerdere ManagedSettingsStores hetzelfde instellen, dan geldt in de woorden van Apple "the most restrictive setting always wins" (de strengste instelling wint altijd). Als dat ook tussen apps zou gelden, kunnen mensen ze allebei gebruiken, en dan kan een telefoon alleen strenger op slot gaan, nooit minder streng.

Wat ik zou vragen: laat meer dan één app individuele toestemming voor Schermtijd hebben, zoals op WWDC22 beschreven, en voeg hun shields samen met dezelfde regel dat de strengste wint. Is er een echte reden voor de beperking, documenteer die dan en geef apps een fatsoenlijke foutcode, zodat ze het kunnen uitleggen.

2. De app-kiezer is onhandig, en apps kunnen hem niet aanpassen

Op de iPhone kies je de apps die je wilt blokkeren in de FamilyActivityPicker van Apple. Dat is een systeemscherm dat de app niet kan veranderen, op een regel tekst boven- en onderaan na. Het opent met een lijst categorieën (Sociaal, Games, Amusement...), en je tikt een categorie open om de apps zelf te vinden. Op Android maak ik de lijst zelf, dus daar toont HonorFit je geïnstalleerde apps, gesorteerd op hoeveel je ze de afgelopen 24 uur hebt gebruikt.

De app-kiezer van Schermtijd op iOS: een lijst met app-categorieën, waarvan Gezondheid en fitness is opengeklapt met de apps erin
iPhone: de kiezer van Apple. Eerst categorieën, geen gebruiksgegevens, voor elke app hetzelfde.
De app-kiezer van HonorFit op Android: apps met hun gebruikstijd van de afgelopen 24 uur, meestgebruikte bovenaan
Android: de eigen lijst van HonorFit, gesorteerd op gebruikstijd, dus je ergste apps staan meteen bovenaan.

Twee dingen zitten me dwars aan die van iOS:

Dit zou geen privacy kosten. De kiezer wordt door iOS getekend, in zijn eigen proces. De app ziet nooit wat erin staat, alleen ondoorzichtige tokens voor wat je hebt gekozen. HonorFit kan letterlijk niet zien welke apps je hebt gekozen. iOS zou dus gebruikstijden in de kiezer zelf kunnen tonen, en de app zou nog steeds niets te weten komen. Apple doet al zoiets met DeviceActivityReport-extensies, die je gebruik laten zien in een sandbox die de app niet kan uitlezen.

Wat ik zou vragen:
  1. Een optie in de kiezer om te kiezen tussen hele categorieën of alleen apps, zodat een app blocker een lijst met alleen apps kan aanbieden zonder per ongeluk gekozen categorieën (en websites kan verbergen als hij die niet gebruikt).
  2. Een optie om te sorteren op gemeten schermtijd en die te tonen naast elke app, getekend door iOS zodat de app de cijfers nooit ziet.

3. Je kunt geen nauwkeurige aftelling van je resterende tijd zien

In HonorFit loopt je verdiende tijd alleen af terwijl je echt in een geblokkeerde app zit. Het meest logische om te tonen is dus een aftelling: ‘nog 12:34’, die afloopt terwijl je scrolt en stopt als je de app verlaat.

Op Android is dat makkelijk. De achtergrondservice van HonorFit kijkt elke seconde welke app op het scherm staat, en de melding gebruikt de ingebouwde afteltimer van Android, dus het meldingenpaneel tekent hem zelf elke seconde opnieuw. Je trekt het paneel omlaag en ziet precies hoeveel tijd je nog hebt, tot op de seconde.

Op de iPhone kan het niet, en dit is waarom:

Dus iPhone-gebruikers krijgen een ruwe schatting, terwijl Android-gebruikers het echte getal zien.

Wat ik zou vragen: laat een DeviceActivity-event een aftelling aansturen die iOS zelf tekent: in een melding, een Live Activity of het shield, en die alleen loopt terwijl de gemonitorde apps op het scherm staan. iOS houdt dat gebruik al tot op de seconde bij, dus het zou de tijd kunnen tonen zonder de app iets nieuws te geven. Zelfs simpele callbacks naar de monitor-extensie voor ‘geblokkeerde app geopend / gesloten’ zouden het grootste deel oplossen.

Dat was het

Om eerlijk te zijn tegenover Apple: het privacymodel is hier echt goed. De app komt nooit te weten wat je hebt geblokkeerd of hoeveel je het gebruikt, en ik zou het jammer vinden als dat veranderde. Geen van de drie punten hierboven zou daar iets aan veranderen. Ze zouden iPhone-apps alleen net zo behulpzaam laten zijn als de Android-versies al zijn.

Bouw jij ook op Schermtijd en wil je een van deze dingen, dien het dan in via Feedbackassistent. Voor zover ik weet, worden dingen opgemerkt doordat er dubbele meldingen binnenkomen. En wil je de app gewoon proberen: HonorFit is gratis voor iPhone en Android. Misschien vinden sommigen van jullie het wel leuk!

Lees verder