Depois de selecionar uma foto, apenas a imagem preta vazia aparece na exibição de recorte. (testado em 2.4.0, swift 5)
Obrigado pelo feedback! Não tenho tempo para investigar agora, então qualquer ajuda no diagnóstico do problema seria apreciada!
TimOliver, tenho uma solução, mas estou fazendo o teste final uma vez
Este parece ser um problema com as permissões.
createDataWithMappedFile:1508: 'open' failed '/var/mobile/Media/PhotoData/CPLAssets/group498/E850D458-F829-4B19-8FBF-95D6F6CC34BA.HEIC' error = 1 (Operation not permitted)
Você vê os mesmos logs?
Meu aplicativo tem permissão total para o álbum. Este não parece ser o caso.
Funciona normalmente no 13.1 beta2. Esse problema pode ser um bug apenas para 13.1 beta 1.
Eu gostaria de compartilhar mais informações de teste:
(1) Meu aplicativo não solicita permissão explícita de acesso à biblioteca de fotos. (https://stackoverflow.com/questions/46404628/ios11-photo-library-access-is-possible-even-if-settings-are-set-to-never)
(2) Não houve nenhum problema até o iOS 12.4.1 (mais recente) - tudo funcionou bem!
(3) Não houve teste no iOS 13.0 beta, mas acho que não houve problema na versão 13.0.
(4) Eu peguei o problema em 13.1 beta 1
(5) O problema foi corrigido na versão 13.1 beta 2
Você poderia compartilhar comigo o documento oficial ou qualquer informação sobre a mudança de permissão no iOS 13?
Ignore isso. Meu problema foi resolvido com https://github.com/TimOliver/TOCropViewController/issues/365
Mesmo problema enfrentando. Depois de selecionar a imagem, apenas a tela preta aparece.
Substituir
cropViewController.dismiss(animated: true, completion: nil).
Com
let viewController = cropViewController.children.first!
viewController.modalTransitionStyle = .coverVertical
viewController.presentingViewController?.dismiss(animated: true, completion: nil)
@ Stijnk008 Obrigado. Está funcionando bem.
As alterações exigem atualização no repo.
@ Stijnk008 O senhor é uma lenda absoluta! Você acabou de me salvar horas antes de um Live Demo Day. ufa !
Ainda enfrentando esse problema na versão oficial 13.1.2 mais recente. A solução de Stijnk008 ainda funciona neste caso.
A biblioteca precisa de uma atualização?
Alguém poderia explicar por que o comportamento é tão estranho com as novas versões do iOS?
isso está funcionando para mim:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let image = (info[UIImagePickerController.InfoKey.originalImage] as? UIImage) else { return }
let cropController = CropViewController(croppingStyle: croppingStyle, image: image)
cropController.delegate = self
cropController.customAspectRatio = CGSize(width: 1.0,height: 1.2)
cropController.aspectRatioLockEnabled = true
cropController.resetAspectRatioEnabled = false
cropController.modalPresentationStyle = .fullScreen
picker.dismiss(animated: true, completion: {
let viewController = cropController.children.first!
viewController.modalTransitionStyle = .coverVertical
viewController.presentingViewController?.dismiss(animated: true, completion: nil)
// the code below allows you to present the cropController ( for me )
self.row?.delegate?.present(cropController, animated: true, completion: nil)
})
}
Ei pessoal! Hum, então acabei de adicionar modalPresentationStyle = .fullScreen
à biblioteca no branch master. Esperançosamente, isso DEVE resolver a maioria dos comportamentos estranhos que a biblioteca estava exibindo.
Se você ainda estiver tendo esse problema, pode puxar do mestre e ver se isso foi corrigido?
Nesse ínterim, percebi que há muitas falhas visuais em dispositivos não FaceID, então tenho que priorizar isso agora.
Obrigado!
@ Stijnk008 Apenas eu substituo e funciona bem 😀 Obrigado
Legal. Acho que isso foi resolvido. Abra um novo problema se outra pessoa tiver o mesmo problema!
Comentários muito úteis
Substituir
cropViewController.dismiss(animated: true, completion: nil).
Com
let viewController = cropViewController.children.first! viewController.modalTransitionStyle = .coverVertical viewController.presentingViewController?.dismiss(animated: true, completion: nil)