์ด์ ์ ๋์๋ฆฌ์์ ์งํํ๋ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋ฆฌํํ ๋งํ๋ ์๊ฐ์ ๊ฐ๊ธฐ๋ก ํ๋ค.
์ ์๋ 3์ฃผ๋ผ๋ ์งง์ ์๊ฐ๋์ ๋ชจ๋ ๊ตฌํ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฝ๋๊ฐ ํํํ์ง ์์๊ณ , ๋ฟ๋ง ์๋๋ผ ๋์ ์ฒ์ ์จ๋ณด๋ SwiftUi์ ํผ์ฉํด์ผ ํ๊ธฐ์ ์ฝ๋๋ฅผ ๋ค์ ๋ฏ์ด๋ณผ ํ์๊ฐ ์์๋ค.
SwiftUI๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ๋, screenTime API๋ฅผ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋น์์๋ Github์์ ๋๊ตฐ๊ฐ ์ฌ์ฉํด๋ screenTime API๋ฅผ ์ฐธ๊ณ ํด์ ๊ฐ๋ฐ์ ์งํํ์๋๋ฐ, ๊ณต๋ถํ ์๊ฐ์กฐ์ฐจ ์๋ค๊ณ ๋๊ปด์ก๊ธฐ์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ์ฑ ํ๋ก์ ํธ์ ๋ฐ์ํด๋ฒ๋ ธ๋ค.
์ด๋ฒ์๋ ๋ค์ ๋ ํํํ๊ฒ ๋ง๋๋๋งํผ, ์ ๋๋ก ๊ณต๋ถํ๊ณ , screenTime API ๋ง์คํฐ๊ฐ ๋ผ์ผ ๊ฒ ๋ค.
์ค๋์ screenTime API๋ฅผ ํ๋ก์ ํธ์ ๋ฐ์ํ๊ธฐ์ ์์, ํด๋น API์๋ ๋ฌด์์ด ์๋์ง, ์ด๋ค ๊ธฐ๋ฅ์ด ์๋์ง, ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ๋ฑ์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.
https://developer.apple.com/videos/play/wwdc2021/10123/
์ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์๋ค.
ScreenTime API๋?
์๊พธ ๊ณต์๋ฌธ์์์ ๊ฐ์กฐํ๋ ๋ถ๋ถ์ด ์์๋ค.
๋ฐ๋ก ๋ง์ถคํ ๋ถ๋ชจ ํต์ ๊ธฐ๋ฅ์ ์ง์ํ๋ค๋ ๊ฒ์ด์๋๋ฐ, ํด๋น ๋ด์ฉ์ ๊ฐ์กฐํ๊ณ ์๋ค.
์ด API๋ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋๋ค.
1. DeviceActivity
2. FamilyControls
3. ManagedSettings
์ฐจ๊ทผ์ฐจ๊ทผ ํ๋์ฉ ๊ณต๋ถํด๋ณด์ !
1. DeviceActivity๋?
https://developer.apple.com/documentation/DeviceActivity
์ด Framework๋ ๋ง ๊ทธ๋๋ก, ๊ธฐ๊ธฐ ํ๋์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํจ์ด๋ค.
์ด ํ๋ ์์ํฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
1. ์ฌ์ฉ์์ ์ฑ ๋ฐ ์น์ฌ์ดํธ ํ๋์ ๋ชจ๋ํฐ๋งํ ์ ์๋๋ก ํ๊ณ ,
2. ํ๋ผ์ด๋ฒ์๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
๊ตฌ์ฒด์ ์ธ ์ํฉ์ ์๋ก ๋ค์ด๋ณด๋ฉด,
์ฌ์ฉ์๊ฐ ์ ์๋ฆฌ์ ๋ค์ด์ผํ๋ ์๊ฐ ๋์ ๊ธฐ๊ธฐ ํ๋์ ๋ชจ๋ํฐ๋งํ๋๋ก ์ทจ์นจ ์๊ฐ์ ์ค์ ํ ์ ์๋ค.
์ฆ, ๋ ํ์ฅํด๋ณด๋ฉด, ํ๋ ์ผ์ ์ด ์์๋๊ฑฐ๋ ๋๋๊ธฐ ์ ์, ํน์ ํ๋์ด ๋ฏธ๋ฆฌ ์ ์๋ ํ๊ณ์ ๋๋ฌํ ๋ ๊ฒฝ๊ณ ํน์ ์๋ฆผ์ ๋ฐ์ ์ ์๋ค.
์ด๋ ๊ณ์ ์ฌ์ฉ ์๊ฐ๊ณผ ํ๋์ ๋ชจ๋ํฐ๋งํ์ฌ ์ฌ์ฉ์๊ฐ ํน์ ํ๊ณ์ ๋๋ฌํ์ ๋๋ฅผ ์ธ์งํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๋ด๊ฐ ๊ตฌํํด์ผ ํ๋ ๊ธฐ๋ฅ ์ค ํ๋์ธ, ํน์ ์ฑ์ ํน์ ์๊ฐ ์ฌ์ฉํ์ ๋ ์ฌ์ฉ์๊ฐ ์ด๋ฅผ ์ธ์งํ๊ฒ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด์๋ ํด๋น framework์ ๊ธฐ๋ฅ์ด ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ํ์ํ๋ค !
2. FamilyControls๋?
์ด framework๋ ๋ง ๊ทธ๋๋ก, ์ฒ์์ ๊ณ์ ๊ฐ์กฐํ๋ ๋ถ๋ชจ์ ํต์ ๊ถํ์ ์ํ ๊ฒ์ด๋ค.
์ด ๋ถ๋ถ์ ๋ด๊ฐ ์งํํ๋ ํ๋ก์ ํธ์์ ์ฌ์ฉํ์ง ์์ ๊ฒ ๊ฐ์ง๋ง, ์๊พธ ๊ฐ์กฐํ๋ ์งง๊ฒ๋๋ง ์ ๋ฆฌ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค.
๊ทผ๋ฐ ์ง๋ ๊ฐ๋ฐ์์๋ ์ด framework๋ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์๋ฐ, screenTime์ ์ค์ ํ๋ ค๋ฉด 1์ฐจ์ ์ผ๋ก ํ์ํ framework์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค.
์ถํ ์ง์ ๊ตฌํํ๋ค๋ณด๋ฉด ์๊ฒ ๋๊ฒ ์ง?
Family Sharing group
์ด framework๋ ๋ถ๋ชจ๊ฐ ์๋ ์ ์ฑ ์ฌ์ฉ์ ํต์ ํ๊ธฐ ์ํจ์ด ๋ชฉ์ ์ด๋ค.
์ด๋ฅผ ์ํด์๋, ๋ถ๋ชจ์ ํต์ ๊ถํ ํ ์ ์๋ ์น์ธ์ด ํ์ํ๋ฐ ์ด๋ฅผ ์ํด์๋ ์๋ ๊ณผ ๊ฐ์ ๊ฐ์กฑ ๊ณต์ ๊ทธ๋ฃน์ ์ํด์์ด์ผ ํ๋ค.
์ฆ, ์๋ ์ ๋ถ๋ชจ๊ฐ ๊ฐ์ ๊ฐ์กฑ ๊ณต์ ๊ทธ๋ฃน(Family Sharing group)์ ์ํด ์์ด์ผ ๋ถ๋ชจ๊ฐ ์๋ ์ ์ฑ ์ฌ์ฉ์ ํต์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ์น์ธ ๊ณผ์ ์, ์์คํ ์์ ์๋ ์ ๊ธฐ๊ธฐ์ ์ธ์ฆ sheet๋ฅผ ํ์ํ๊ณ , ๋ถ๋ชจ๋ ๋ณดํธ์๊ฐ ์ด์ ๋ํ ๊ถํ์ ์น์ธ ๋๋ ๊ฑฐ๋ถํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฑ์ AuthorizationCenter๋ก ์ ๋ฌํ๋ค.
AuthorizationCenter
์ด framework์์ AuthorizationCenter๋ ๊ฝค๋ ์ค์ํ ์ญํ ์ ํ๋ค.
๋ถ๋ชจ๊ฐ ๊ถํ์ ์น์ธ ๋๋ ๊ฑฐ๋ถํ ์ ์๊ณ , ์ฌ์ฉ์(์ฆ, ์๋ )์ ์น์ธ ๋ํ ํ์ํ๋ฐ ์ด ๊ถํ ๊ฒฐ๊ณผ ๋ํ AuthorizationCenter๋ก ์ ์กํ๋ค.
์ฆ, ์ ๋ฆฌํ๋ฉด ์ฝ๊ฒ ์ฌ์ฉ์๋ฅผ ๋ถ๋ชจ์ ์๋ ๋ก ๋๋ ๋ณด์.
์ด ๋, ๊ฐ์ ๊ฐ์กฑ ๊ณต์ ๊ทธ๋ฃน์ ์ํ ๋ถ๋ชจ์ ์๋ ๋ ๊ฐ๊ฐ ๊ถํ์ ๋ํ ์น์ธ์ด ํ์ํ๋ค.
๋ถ๋ชจ๊ณผ ์๋ ๊ฐ ๊ถํ์ ์น์ธ ๋๋ ๊ฑฐ๋ถํ๋์ง์ ๋ํ ์๋ต ๊ฒฐ๊ณผ๊ฐ AuthorizationCenter๋ก ๋ชจ๋ ์ ์ก๋์ด ์ฒ๋ฆฌ๋๋ค๋ ๊ฒ์ด๋ค.
์ฃผ์ ๊ธฐ๋ฅ
์ด framework์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ๋ถ๋ชจ๋ ๋ณดํธ์๋ก๋ถํฐ ์ธ์ฆ๋ ์๋ (์ฌ์ฉ์)๊ฐ ๋ถ๋ชจ ํต์ ์ค์ ์ ์ฐํํ ์ ์๋ ํ๋์ ํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๋ค.
2. ๊ธฐ๊ธฐ์ ๋ถ๋ชจ๋ ๋ณดํธ์๊ฐ ์ธ์ฆํ ํต์ ์ฑ์ด ํ๋ ์ด์ ์์ ๊ฒฝ์ฐ, ์ฌ์ฉ์๋ iCloud์์ ๋ก๊ทธ์์ ํ ์ ์๋ค.
์ฆ, ์๋ ๋ ๋ถ๋ชจ ํต์ ์๋ ์๋ ์ฑ์ ์ญ์ ํ ์ ์์ผ๋ฉฐ, ํต์ ๋ฅผ ๋ฒ์ด๋ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์๋ ๋ค์ ์ ๋ง ์ซ์ดํ ๋งํ framework์ด์ง๋ง, ๋ถ๋ชจ๋๋ค์ ์๋นํ ์ข์ํ์ค.. ๊ทธ๋ฐ framework์ด๋ค.
3. Manage Settings
Managed Settings๋ ์ฌ์ฉ์๊ฐ ์์ ์ ๊ธฐ๊ธฐ์์ ํน์ ์ค์ ๋ฐ ๊ธฐ๋ฅ์ ๋ํ ์ ๊ทผ์ ์ ํํ ์ ์๋ ํ๋ผ์ด๋ฒ์ ๋ณดํธ ๋ฐฉ์์ ์ ๊ณตํ๋ค.
์ฌ์ฉ์์ ํ๊ฐ๋ฅผ ๋ฐ์ผ๋ฉด, ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ ํ ์ ์๋ค.
1. ๋ฏธ๋์ด ์ฝํ ์ธ ํ์ ์ ํ
2. ์ฑ ๊ตฌ๋งค ์ ํ
3. ์ํธ ์ค์ ์ ์ ๊ทธ๊ณ , ๋ค๋ฅธ ๊ธฐ๊ธฐ ๋์์ ๊ตฌ์ฑํ ์ ์๋ค.
์ด์ ์๋ ์ด๋ฌํ ๊ธฐ๋ฐ ์์ด ๋์ถฉ ๋ณด๊ณ ๊ฐ๋ฐํด์ ์ด๋ฆ๋ ํท๊ฐ๋ฆฌ๊ณ , ๊ฐ๊ฐ์ ๊ธฐ๋ฅ๊ณผ ์ฐ๊ด ๊ด๊ณ๋ ๋๋ฌด ํท๊ฐ๋ ธ๋๋ฐ ์ด๋ ๊ฒ ์ ๋ฆฌํ๋ ์กฐ๊ธ์ ์ดํด๊ฐ ๋๋ค.
์ด์ ์ง์ framework๋ฅผ ์ฌ์ฉํด๋ณด๋ฉด์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค !!
'๐ Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] apple login ๊ตฌํํ๊ธฐ (2) | 2024.09.14 |
---|---|
[swift] DeviceActivity ์ ๋ฆฌ ๋ฐ ์คํฌ๋ฆฐํ์ ์ ๊ทผ ๊ถํ, ์ฑ ์ ํํ๊ธฐ (4) | 2024.09.12 |
[Swift] debug ๋ชจ๋์์ release ๋ชจ๋๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ (2) | 2024.07.27 |
[swift] Main storyboard์ Launch storyboard ์ฐจ์ด (4) | 2024.03.16 |
[swift] R.swift ์ค์นํ๊ธฐ (0) | 2024.02.23 |