์ฑ์์ ํ๋ฉด ์๊ฐ ๊ถํ(Screen Time Permission)์ ์์ฒญํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์, iOS ๋ฒ์ ์ ๋ฐ๋ฅธ ์ ์ ํ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ์ถ์๋ค. ์ฒ์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ถํ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
private func requestScreenTimePermission() {
if #available(iOS 16.0, *) {
familyControlsManager.requestAuthorization { [weak self] granted in
DispatchQueue.main.async {
if granted {
self?.navigateToStarList()
}
}
}
} else {
/// iOS 15 ๋ฏธ๋ง์ผ ๊ฒฝ์ฐ ์ฒ๋ฆฌ
let alert = UIAlertController(
title: "์ง์๋์ง ์๋ ๋ฒ์ ",
message: "์ด ๊ธฐ๋ฅ์ iOS 15.0 ์ด์์์๋ง ์ง์๋ฉ๋๋ค.\n์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํด์ฃผ์ธ์.",
preferredStyle: .alert
)
alert.addAction(UIAlertAction(title: "ํ์ธ", style: .default, handler: { _ in
self.navigateToStarList()
}))
DispatchQueue.main.async {
self.present(alert, animated: true, completion: nil)
}
}
}
iOS Deployment Target์ด 16.0 ์ด์์ผ๋ก ์ค์ ๋์ด ์์ด์, iOS 15 ์ดํ์ ๋ํ ์์ธ ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ์์๋ค.
๋ถํ์ํ ์์ธ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๋ค.
private func requestScreenTimePermission() {
familyControlsManager.requestAuthorization { [weak self] in
DispatchQueue.main.async {
self?.navigateToStarList()
}
}
}
Deployment Target์ ๊ณ ๋ คํ์
#available
์ฒดํฌ๋ฅผ ํ์ง ๋ง์.