iOS: gate capabilities by permissions and add settings controls

This commit is contained in:
Mariano Belinky
2026-02-20 19:13:59 +00:00
committed by mbelinky
parent 39816e61b0
commit 660b6025de
7 changed files with 965 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)
}
}