Как проверить, смог ли пользователь сохранить в фотопленку во время 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
.