imagePickerController : didFinishPickingMediaWithInfo 함수에서 모든 이미지 메타 데이터를 인쇄하려고합니다. info.objectForKey(UIImagePickerControllerReferenceURL)
메서드를 사용할 때 nil을 반환하고이 결과를 사용하려고하면 응용 프로그램이 중단됩니다. 누구나 nil을 반환하는 이유와 내가 이미지를 선택할 때 모든 이미지 메타 데이터를 인쇄하는 데 사용할 수있는 다른 방법을 알고 있습니까? (UIImageJPEGRepresentation을 사용하는 것은 EXIF 데이터가 제거 되었기 때문에 옵션이 아닙니다). 이 내 코드입니다 :UIImagePickerControllerReferenceURL이 nil을 반환하여 응용 프로그램이 손상됩니다.
func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: NSDictionary!)
{
let image = info.objectForKey(UIImagePickerControllerOriginalImage) as UIImage
let refURL : NSURL = info.objectForKey(UIImagePickerControllerReferenceURL) as NSURL
var localSourceRef: CGImageSourceRef = CGImageSourceCreateWithURL(refURL, nil)
var localMetadata: NSDictionary = CGImageSourceCopyPropertiesAtIndex(localSourceRef, 0, nil)
println("\n Photo data: \n")
println(localMetadata)
}
UIImagePickerControllerReferenceURL은 몇 가지 경우에 nil이됩니다. 이미지가 아직 저장되지 않았기 때문에 카메라에서 (카메라 롤 대) 가장 많이 발생합니다. 지금까지 시도한 테스트 케이스에 대한 추가 정보를 추가 할 수 있습니까? –
맞습니다. 카메라 롤에서 작동합니다. 그러나 사진이 카메라로 촬영되었거나 사진 보관함에서 사진에 액세스하려고 시도하면 충돌이 발생합니다. 사진에서 GPS 데이터를 어떻게 얻을 수 있는지 제안 해 주시겠습니까? 고맙습니다! – Cristian