PHImageManager의 requestImage의 image가 nil로 오는 문제..
by 사슴비행기잘 되던 로직이 갑자기 안돼기 시작해서 디버깅을 해보니
PHImageManager.default().requestImage(for: selectedImages[i], targetSize: /*CGSize(width: 200, height: 200)*/PHImageManagerMaximumSize, contentMode: .aspectFit, options: option) { result, info in
thumbnail = result!
}
이 부분에서 result가 nil로 와서 문제가 생기는 거였다.
하지만 해당 이슈를 아무리 검색해봐도 찾지 못하다가
한 stackoverflow를 정독하면서 해결방법을 찾았다.
하지만 이유는 모르겠다... 그냥 답변으로 준 것들을 다 돌려보다가..
일단 해당 글의 주소: https://stackoverflow.com/a/42871050
PHCachingImageManager().requestImage(for: self.selectedImages[i],
targetSize: PHImageManagerMaximumSize,
contentMode: .aspectFit,
options: option,
resultHandler: { (image, info) in
if (image == nil) {
print("Error loading image")
print("\(info)")
} else {
thumbnail = image!
}
})
이렇게 수정하니 정상적으로 이미지가 내려온다.
이 답변을 준 사람도 이유를 모르겠다고 한다..
이 방법으로 하면 메모리 문제가 생길 수 있다는 것 같은데.. 일단 nil로 내려와서 앱이 죽는 것보다는 나을 것 같아서
이 방법으로 쓰면서 해결법을 찾아볼 생각이다 ㅠ
와 이거 때매 어제 막차 타고 환승역에서 차가 없어서 택시 탔다...ㅠㅠㅠㅠㅠㅠㅠ
블로그의 정보
Beautiful Coding
사슴비행기