https://developer.apple.com/videos/play/wwdc2022/110336/
WWDC22의 "What's new in Screen Time API"를 보고 느낀점 서술
ScreenTime 담당 개발자 MaryAhsley Etefia가 이 API 대해서 설명을 한다. 현재 코로나때문에 IT산업은 디지털 건과 생산적인 도구에 많은 수요를 보여줬다.
작년에 ScreenTime API가 출시되었다. 새로운 유저가 아이와 기계간의 관계를 관리할 수 있도록 해주는 API 인것이다. 이 의도가 아니지만 많은 사람들이 다양한 방법으로 이 API를 사용했다. 우선적으로 iOS15 업데이트에서는 크게 3가지를 다뤘다.
1. Family Control Authorization
2. Managed Setting Restrictions
3. Device Activity Usage
이제 iOS16에서는 새로운 기능들 뿐만 아니라 더 강화되어서 유저친화적으로 바뀌고 있다. 이를 애플에서 직접 만든 Worklog 이라는 데모 앱을 통해 설명을 해준다.
iOS15에서는 아이들 접근 권한 설정과 iCloud 인증관리만 가능 했다. 보호자의 관리의 목적으로 나온 이 ScreenTime API는 이제 개인이 스스로 관리 할 수 있는 기능으로도 출시가 되었다. 다양한 앱을 개인이 관리할 수 있으나 앱 제거 방지기능과 iCloud 로그아웃 제한 기능은 없다.
AuthorizationCenter를 통해서 ScreenTime 권한 설정을 할 수 있다. 최초 앱 실행 시 권한이 없다면 권한을 받도록 해주는 도구이며 권한을 받은 이후에는 자동으로 권한을 뒷단에서 받고 스크린타임API를 실행시킨다. 권한을 주게 되었다면 설정->스크린타임 부분에 어떤 제한을 줄 지 나와있다.
iOS15에 비해 Managed Setting Store 부분에서 많은 개조가 일어났다. 이는 데이터스토어이며 현재 유저의 기기 설정을 적용시키는 부분이다. iOS15에서는 프로세스 당 하나의 Managed Setting Store를 사용할 수 있었다. 이러한 제약사항 때문에 기기 설정이 힘들었었다.
현재 iOS16부터는 하나의 프로세스 당 50개의 Managed Setting Store를 고유 이름을 통해 만들 수 있으며 앱과 앱과 관련된 것들을 동일한 설정 하에 둘 수 있다. 또한 하나의 동작으로 모든 세팅을 지울 수 있는 도구 또한 제공된다.
Worklog을 통해서 본다면 위의 Family Control Authorization을 통해 권한을 준 후 Gaming ManagedSettingStore를 생성한다. 이는 게임 관련된 웹사이트를 제한할 것이다. 이와 같이 social부분에서도 막을 수 있으며 시간 설정 또한 가능하다. 시간이 다지나면 clearAllSettings()으로 설정을 초기화 시켜 다시 제한을 풀어준다. 다른 설정과 충돌이 일어날 걸 우려한다면 스크린타임이 어떤 설정보다 우위에 있기에 설정 된다.
iOS15에서는 우선 timing windows 시작과 끝 그리고 앱과 웹사이트의 사용량에 반응하게끔 개발이 되었다. iOS16에서 추가된 것은 SwiftUI를 통해 사용량을 커스텀해서 보여줄 수 있다. 또한 어떤 데이터를 보여줄지를 정할 수 있으며 유저의 보안을 추가하였다.