У нас есть представление SwiftUI, которое использует камеру для предварительного просмотра. Итак, как предложено в Apple Docs, мы проверяем статус авторизации, а затем, если он не определен, мы запрашиваем авторизацию.
У нас также есть запись о конфиденциальности в info.plist
Код: Выделить всё
case .notDetermined:
AVCaptureDevice.requestAccess(for: .video) { accessStatusAuthorised in
if !accessStatusAuthorised {
self.cameraStatus = .notAuthorised
} else {
self.isAuthorized = true
self.cameraStatus = .authorised
self.startCameraSession(cameraPosition: cameraPosition)
}
}
case .restricted:
cameraStatus = .notAuthorised
isAuthorized = false
case .denied:
cameraStatus = .notAuthorised
isAuthorized = false
case .authorized:
cameraStatus = .authorised
isAuthorized = true
startCameraSession(cameraPosition: cameraPosition)
break
@unknown default:
isAuthorized = true
cameraStatus = .notAuthorised
}
Однако и это сбивает с толку.
Если мы не вызываем приведенный выше код, мы все равно получаем всплывающее окно с разрешением на доступ к камере, и камера работает нормально после разрешения.
Что меня беспокоит, так это изменение кода для этого, и это возможная ошибка Apple, которая исправляется, и тогда ни одно из приложений не разрешает функция камеры.
Я не вижу нигде, чтобы этот процесс изменился для iOS 26 / Xcode 26.
Может ли кто-нибудь пролить свет на это или имел аналогичный опыт?
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-xcode-26
Мобильная версия