рдлрд╝реЛрдЯреЛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрд░реЙрдкрд┐рдВрдЧ рджреГрд╢реНрдп рдореЗрдВ рдХреЗрд╡рд▓ рдХрд╛рд▓реА рдЦрд╛рд▓реА рдЫрд╡рд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред (реи.рек.реж рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЗрдЬ рел)
рдкреНрд░рддрд┐рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЗ рдирд┐рджрд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА!
рдЯрд┐рдо рдУрд▓рд┐рд╡рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рд░ рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ w/рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред
createDataWithMappedFile:1508: 'open' failed '/var/mobile/Media/PhotoData/CPLAssets/group498/E850D458-F829-4B19-8FBF-95D6F6CC34BA.HEIC' error = 1 (Operation not permitted)
рдХреНрдпрд╛ рдЖрдк рд╡рд╣реА рд▓реЙрдЧ рджреЗрдЦрддреЗ рд╣реИрдВ?
рдореЗрд░реЗ рдРрдк рдореЗрдВ рдкреВрд░реНрдг рдПрд▓реНрдмрдо рдЕрдиреБрдорддрд┐ рд╣реИред рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рдпрд╣реА рдорд╛рдорд▓рд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ 13.1 рдмреАрдЯрд╛2 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ 13.1 рдмреАрдЯрд╛ 1 рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
(рез) рдореЗрд░рд╛ рдРрдк рдлреЛрдЯреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХреНрд╕реЗрд╕ рдХреА рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдорддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред (https://stackoverflow.com/questions/46404628/ios11-photo-library-access-is-possible-even-if-settings-are-set-to-never)
(реи) iOS резреи.рек.рез (рдирд╡реАрдирддрдо) рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА - рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ!
(рей) рдЖрдИрдУрдПрд╕ резрей.реж рдмреАрдЯрд╛ рдореЗрдВ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг резрей.реж рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред
(рек) рдореБрдЭреЗ резрей.рез рдмреАрдЯрд╛ рез . рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА
(рел) рд╕рдорд╕реНрдпрд╛ резрей.рез рдмреАрдЯрд╛ реи . рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рддрдп рдХреА рдЧрдИ рдереА
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореЗрд░реЗ рд╕рд╛рде рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдпрд╛ iOS 13 рдореЗрдВ рдЕрдиреБрдорддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдордд рджреЗрдВред рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ https://github.com/TimOliver/TOCropViewController/issues/365 . рдХреЗ рд╕рд╛рде рд╣рд▓ рд╣реЛ рдЧрдИ рдереА
рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЫрд╡рд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЗрд╡рд▓ рдХрд╛рд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
рдмрджрд▓рдиреЗ рдХреЗ
cropViewController.dismiss(animated: true, completion: nil).
рд╕рд╛рде рдореЗрдВ
let viewController = cropViewController.children.first!
viewController.modalTransitionStyle = .coverVertical
viewController.presentingViewController?.dismiss(animated: true, completion: nil)
@ Stijnk008 рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рд░реЗрдкреЛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
@Stijnk008 рдЖрдк рд╕рд╛рд╣рдм рдПрдХ рдкрд░рдо рдХрд┐рдВрд╡рджрдВрддреА рд╣реИрдВ! рдЖрдкрдиреЗ рд▓рд╛рдЗрд╡ рдбреЗрдореЛ рдбреЗ рд╕реЗ рдХреБрдЫ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╣реА рдореБрдЭреЗ рдмрдЪрд╛рдпрд╛ рдерд╛ред рдУрд╣ !
рдЕрднреА рднреА рдирд╡реАрдирддрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ 13.1.2 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ Stjnk008 рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЕрджреНрдпрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирдП рдЖрдИрдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╣ рдЕрдЬреАрдм рдХреНрдпреЛрдВ рд╣реИ?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:
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)
})
}
рджреЛрд╕реНрддреЛрдВ! рдЙрдо, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ modalPresentationStyle = .fullScreen
рдЬреЛрдбрд╝рд╛ рд╣реИред рдпрд╣ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ?
рдЗрд╕ рдмреАрдЪ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЧреИрд░-FaceID рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдмрд╣реБрдд рд╕реА рджреГрд╢реНрдп рдЧрдбрд╝рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдм рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рд╣реЛрдЧреАред
рдзрдиреНрдпрд╡рд╛рдж!
@ Stijnk008 рдмрд╕ рдореИрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж
рдардВрдбрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рднреА рдЗрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрджрд▓рдиреЗ рдХреЗ
cropViewController.dismiss(animated: true, completion: nil).
рд╕рд╛рде рдореЗрдВ
let viewController = cropViewController.children.first! viewController.modalTransitionStyle = .coverVertical viewController.presentingViewController?.dismiss(animated: true, completion: nil)