iOS: gate capabilities by permissions and add settings controls (#22135)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 92c2660d08
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
This commit is contained in:
Mariano
2026-02-20 19:26:30 +00:00
committed by GitHub
parent 39816e61b0
commit 67edc7790f
8 changed files with 966 additions and 391 deletions

View File

@@ -0,0 +1,22 @@
import Foundation
import UIKit
@MainActor
extension NodeAppModel {
func permissionSnapshot() -> IOSPermissionSnapshot {
IOSPermissionCenter.statusSnapshot()
}
@discardableResult
func requestPermission(_ permission: IOSPermissionKind) async -> IOSPermissionSnapshot {
_ = await IOSPermissionCenter.request(permission)
return IOSPermissionCenter.statusSnapshot()
}
func openSystemSettings() {
guard let url = URL(string: UIApplication.openSettingsURLString) else {
return
}
UIApplication.shared.open(url)
}
}