μ¬μ§μ μ ννλ©΄ μλ₯΄κΈ° 보기μ κ²μμ λΉ μ΄λ―Έμ§λ§ λνλ©λλ€. (2.4.0, swift 5μμ ν μ€νΈ)
νΌλλ°±μ μ£Όμ μ κ°μ¬ν©λλ€! μ§κΈμ μ‘°μ¬ν μκ°μ΄ μμΌλ―λ‘ λ¬Έμ μ§λ¨μ λμμ μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€!
TimOliver νλμ μ루μ μ΄ μμ§λ§ μ΅μ’ ν μ€νΈλ ν λ²λΏμ λλ€.
μ΄κ²μ κΆνμ΄ μλ λ¬Έμ μΈ κ² κ°μ΅λλ€.
createDataWithMappedFile:1508: 'open' failed '/var/mobile/Media/PhotoData/CPLAssets/group498/E850D458-F829-4B19-8FBF-95D6F6CC34BA.HEIC' error = 1 (Operation not permitted)
κ°μ λ‘κ·Έκ° λ³΄μ΄λμ?
λ΄ μ±μλ μ 체 μ¨λ² κΆνμ΄ μμ΅λλ€. μ΄κ²μ μ¬μ€μ΄ μλ κ² κ°μ΅λλ€.
13.1 beta2μμ νμμ κ°μ΄ μλν©λλ€. μ΄ λ¬Έμ λ 13.1 λ² ν 1μλ§ ν΄λΉνλ λ²κ·ΈμΌ μ μμ΅λλ€.
λ λ§μ ν μ€νΈ μ 보λ₯Ό 곡μ νκ³ μΆμ΅λλ€.
(1) λ΄ μ±μ μ¬μ§ λΌμ΄λΈλ¬λ¦¬ μ‘μΈμ€μ λν λͺ
μμ μΈ κΆνμ μμ²νμ§ μμ΅λλ€. (https://stackoverflow.com/questions/46404628/ios11-photo-library-access-is-possible-even-if-settings-are-set-to-never)
(2) iOS 12.4.1(μ΅μ )κΉμ§λ λ¬Έμ κ° μμμ΅λλ€. λͺ¨λ κ²μ΄ μ λμμ΅λλ€!
(3) iOS 13.0 λ² νμμλ ν
μ€νΈκ° μμλλ° 13.0 λ²μ μμλ λ¬Έμ κ° μμλ λ΄
λλ€.
(4) 13.1 λ² ν 1μμ λ¬Έμ κ° λ°μνμ΅λλ€.
(5) λ²μ 13.1 λ² ν 2μμ λ¬Έμ κ° μμ λμμ΅λλ€.
곡μ λ¬Έμλ 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 릴리μ€μμ μ¬μ ν μ΄ λ¬Έμ κ° λ°μν©λλ€. Stijnk008μ μ루μ
μ μ΄ κ²½μ°μλ μ¬μ ν μλν©λλ€.
λΌμ΄λΈλ¬λ¦¬μ μ
λ°μ΄νΈκ° νμν©λκΉ?
μλ‘μ΄ ios λ²μ μμ λμμ΄ μ΄μν μ΄μ λ₯Ό μ€λͺ
ν μ μλ μ¬λμ΄ μμ΅λκΉ?
μ΄κ²μ λλ₯Ό μν΄ μΌν©λλ€ :
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
λ₯Ό μΆκ°νμ΅λλ€. μ΄κ²μ λΌμ΄λΈλ¬λ¦¬κ° 보μ¬μ£Όλ λλΆλΆμ μ΄μν λμμ ν΄κ²°νκΈ°λ₯Ό λ°λλλ€(SHOULD).
μ΄ λ¬Έμ κ° κ³μ λ°μνλ©΄ λ§μ€ν°μμ κ°μ Έμμ λ¬Έμ κ° ν΄κ²°λμλμ§ νμΈν μ μμ΅λκΉ?
κ·Έλμ λΉFaceID μ₯μΉμμ μκ°μ κ²°ν¨μ΄ λ§μ΄ λ°μνλ κ²μ νμΈνμΌλ―λ‘ μ§κΈ μ°μ μμλ₯Ό μ§μ ν΄μΌ ν©λλ€.
κ°μ¬ ν΄μ!
@Stijnk008 κ·Έλ₯ κ΅μ²΄νκ³ μ μλν©λλ€ π κ°μ¬ν©λλ€
λ©μλ. λλ μ΄κ²μ΄ ν΄κ²°λμλ€κ³ μκ°νλ€. λ€λ₯Έ μ¬λμ΄ κ°μ λ¬Έμ μ μ§λ©΄νλ©΄ μ λ¬Έμ λ₯Ό μ΄μ΄μ£ΌμΈμ!
κ°μ₯ μ μ©ν λκΈ
λ°κΎΈλ€
cropViewController.dismiss(animated: true, completion: nil).
μ ν¨κ»
let viewController = cropViewController.children.first! viewController.modalTransitionStyle = .coverVertical viewController.presentingViewController?.dismiss(animated: true, completion: nil)