Tocropviewcontroller: Não funciona no iOS 13.1

Criado em 30 ago. 2019  ·  16Comentários  ·  Fonte: TimOliver/TOCropViewController

Depois de selecionar uma foto, apenas a imagem preta vazia aparece na exibição de recorte. (testado em 2.4.0, swift 5)

bug rfc

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)

Todos 16 comentários

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!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

dddOO7 picture dddOO7  ·  5Comentários

agusguerra10 picture agusguerra10  ·  5Comentários

muranobu picture muranobu  ·  4Comentários

erickva picture erickva  ·  4Comentários

piyushlodaliya picture piyushlodaliya  ·  3Comentários