2014-10-15 2 views
3

나는 결과UIImagePickerController를

func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: NSDictionary!){ 

    // https://stackoverflow.com/questions/3088874/didfinishpickingmediawithinfo-return-nil-photo 
    picker.dismissViewControllerAnimated(true, completion: nil) 

    let image = info.objectForKey("UIImagePickerControllerOriginalImage") as UIImage 

    PHPhotoLibrary.sharedPhotoLibrary().performChanges({ 
     let createAssetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image) 
     let assetPlaceholder = createAssetRequest.placeholderForCreatedAsset 
     let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection, assets: self.photosAsset) 

     albumChangeRequest.addAssets([assetPlaceholder]) 
     }, completionHandler: {(success, error)in 
      NSLog("Adding Image to Library -> %@", (success ? "Sucess":"Error!")) 
      picker.dismissViewControllerAnimated(true, completion: nil) 
    }) 
    metaDataFromAssetLibrary(info) 

} 

로 전화 해요

//source: http://stackanswers.com/questions/24227578/ios-8-uiimage-metadata 
func metaDataFromAssetLibrary(info: NSDictionary) { 

    var assetURL = info.objectForKey(UIImagePickerControllerReferenceURL) as NSURL 
    var assetLibrary = ALAssetsLibrary() 
    assetLibrary.assetForURL(assetURL as NSURL, resultBlock: { 
     (asset: ALAsset!) in 
      var metadata: NSDictionary = asset.defaultRepresentation().metadata() as NSDictionary 
      NSLog ("imageMetaData from AssetLibrary %@",metadata); 

     }, failureBlock: { 
      (error: NSError!) in 

      NSLog("Error!") 
    }) 

} 

을 다음과 같이 SWIFT에 오브젝티브 C에 대한 iOS 8 UIImage Metadata에 답을 구현하기 위해 노력하고있어 의해 신속한에서 메타 데이터를 얻기 "치명적인 오류 : 선택 값을 언 래핑하는 동안 예기치 않게 nil이 발견되었습니다"

답변

3

이 코드를 사용해보십시오.

let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary  
let image = info[UIImagePickerControllerOriginalImage] as? UIImage 
+0

'UIImagePickerControllerMediaMetadata' 이미지는 카메라가 아닌 사진 라이브러리에서만 작동합니다. – rmaddy

0

카메라에서 이미지를 가져 오는 경우 정보 [UIImagePickerControllerMediaMetadata]에서 메타 데이터를 가져올 수 있습니다.

그러나 사진 앨범에서 이미지를 선택하면 정보 [UIImagePickerControllerMediaMetadata]는 없지만 정보 [UIImagePickerControllerReferenceURL]!

관련 문제