Как я могу проверить, смог ли пользователь сохранить снимок с камеры во время activityViewController
?
Например, у меня есть контроллер представления активности, который предлагает возможность сохранить в рулон камеры.После того, как пользователь сохраняет изображение, мое приложение отображает подсказку, сообщающую пользователю, что изображение было сохранено.Тем не менее, когда пользователи нажимают на значок «Сохранить в камеру», ОС получает запрос на разрешение, чтобы мое приложение могло сохранять фотографии в своей камере.Если пользователь отклоняет разрешение, activityViewController.completionWithItemsHandler
все равно возвращает успех, даже если пользователь не сохранил изображение в камеру.
Как я могу проверить, действительно ли пользователь смог сохранить изображение в фотопленке?
activityViewController.completionWithItemsHandler = { activity, success, items, error in
if success {
if let activity = activity {
switch activity {
case .postToFacebook:
self.view.showToast(with: "Successfully posted to Facebook.")
case .postToTwitter:
self.view.showToast(with: "Successfully posted to Twitter.")
case .message:
self.view.showToast(with: "Your message has been sent.")
case .mail:
self.view.showToast(with: "Your email has been sent.")
case .saveToCameraRoll:
if PHPhotoLibrary.authorizationStatus() == .denied {
self.view.show(alertForDeniedPermission(to: .photoLibraryAccess), animated: true)
} else {
self.view.showToast(with: "Your picture has been saved.")
}
default:
self.view.showToast(with: "Success!")
}
}
}
Проверка на PHPhotoLibrary.authorizationStatus()
не работает, поскольку перечисление всегда . notDetermined
.Я думаю, потому что мое приложение запрашивает только Privacy - Photo Library Additions Usage Description
, а не Privacy - Photo Library Usage Description
.