[๐ŸŒŸ] Screen Time API ๊ถŒํ•œ ์„ค์ • ๋„์ „ํ•˜๊ธฐ (3) - ๊ถŒํ•œ ์„ค์ • ๋ฌธ๊ตฌ

Edenยท2025๋…„ 1์›” 25์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
103/132
post-thumbnail

"์Šคํฌ๋ฆฐํƒ€์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ ‘๊ทผ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค." ์ด ๋ถ€๋ถ„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ๋ฌธ๊ตฌ๋Š” ์•„๋‹Œ๊ฑด๊ฐ€์š”?

๋งž์•„์š”, Info.plist์— ์„ค์ •๋œ NSFamilyControlsUsageDescription ๋ฌธ๊ตฌ๋Š” iOS๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ถŒํ•œ ์š”์ฒญ ํŒ์—…์—์„œ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


์™œ Info.plist ๋ฌธ๊ตฌ๊ฐ€ ๋ณด์ด์ง€ ์•Š์„๊นŒ์š”?

  • Info.plist์˜ NSFamilyControlsUsageDescription์€ Apple์˜ ๊ถŒํ•œ ์š”์ฒญ ์ •์ฑ…์— ๋”ฐ๋ผ ์•ฑ์ด ์Šคํฌ๋ฆฐํƒ€์ž„ API๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ iOS ์‹œ์Šคํ…œ์— ๊ถŒํ•œ ์š”์ฒญ์„ ์•Œ๋ฆฌ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰, ์ด ๋ฌธ๊ตฌ๋Š” ์•ฑ์ด App Store ์‹ฌ์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜๊ฑฐ๋‚˜ iOS ์‹œ์Šคํ…œ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„ค์ •์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ณด๋Š” Alert ์ฐฝ๊ณผ๋Š” ๋ณ„๊ฐœ์˜ ์„ค์ •์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๊ถŒํ•œ ์š”์ฒญ Alert

  • ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ์•ฑ ์‹คํ–‰ ์ค‘ ๊ถŒํ•œ ์š”์ฒญ Alert ์ฐฝ์„ ๋ณด๊ฒŒ ํ•˜๋ ค๋ฉด, ์•ฑ ์ฝ”๋“œ ๋‚ด์—์„œ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ถŒํ•œ ์š”์ฒญ ์ „์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ Alert์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
func showPermissionAlert() {
    let alert = UIAlertController(
        title: "์Šคํฌ๋ฆฐํƒ€์ž„ ๊ถŒํ•œ ์š”์ฒญ",
        message: "์•ฑ์—์„œ ์Šคํฌ๋ฆฐํƒ€์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์ ‘๊ทผ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?",
        preferredStyle: .alert
    )

    alert.addAction(UIAlertAction(title: "ํ—ˆ์šฉ", style: .default, handler: { _ in
        self.requestScreenTimePermission()
    }))
    alert.addAction(UIAlertAction(title: "์ทจ์†Œ", style: .cancel, handler: nil))

    present(alert, animated: true, completion: nil)
}

func requestScreenTimePermission() {
    // ์‹ค์ œ ๊ถŒํ•œ ์š”์ฒญ ์ฝ”๋“œ (FamilyControls API ํ˜ธ์ถœ)
}

๊ฒฐ๋ก 

  • Info.plist์— ์„ค์ •ํ•œ ๋ฌธ๊ตฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ณด์ง€ ์•Š์œผ๋ฉฐ, iOS ์‹œ์Šคํ…œ ๋‚ด๋ถ€์šฉ์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๊ถŒํ•œ ์š”์ฒญ Alert์€ ์•ฑ ์ฝ”๋“œ์—์„œ ๋ณ„๋„๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
profile
Frontend ๐ŸŒ and iOS ๏ฃฟ ๐Ÿซถ๐Ÿป

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด