Met de call die de
SubTotal ontwikkelaar aangeeft val je nagenoeg volledig terug op de Apple
Contacts logica. Met een klein Swift scriptje dat die call oproept lijken de resultaten op het eerste zicht correct en consistent met de
voorkeurinstellingen. Dus mogelijk doet de ontwikkelaar nog zelf enige processing waarbij het een en ander misloopt.
Aanvulling 1: Llink naar betreffende Apple documentatie toegevoegd.
Aanvulling 2: Toelichting
Om te bepalen hoe een adres getoond wordt, gaat de Contacts app uit van een apart veld op adres dat de ISO Country Code (ISO 3166-1 alpha-2 standaard) bevat. Waarden zijn bijv. nl, be, gb en us.
Bij aanmaak van een adres in een contact is dit ISO veld initieel leeg. In zo'n geval selecteert de app het adres formaat op basis van het standaard formaat in de algemene voorkeurinstellingen van de app (cf. reactie #15).
Zoals reeds aangegeven kan je per contact en per adres in het contact het gewenste formaat selecteren. De overeenkomstige code wordt dan in het ISO veld weggeschreven. In dit geval wordt het adres formaat bepaald door de ISO code, ongeacht het standaard formaat in de voorkeurinstellingen.
Om het formaat te selecteren is er ook een optie voorzien om het standaard formaat te gebruiken. Hierbij waren er een paar mogelijkheden:
1. Schrijf het standaard formaat weg in het ISO veld van het adres ('statisch').
2. Wis het ISO veld in het adres ('dynamisch').
Zo te zien heeft Apple voor optie 1 gekozen. Dit lijkt een vervelend neveneffect te hebben. Een adres wordt niet getoond wanneer alle velden leeg zijn. In voorgaand scenario is er echter een onzichtbaar ISO veld met een waarde, zodat je toch een adres te zien krijgt ook al lijken alle velden leeg. (Dit geldt uiteraard ook indien je een expliciet adres formaat selecteert.)
(Getest op macOS Ventura.)