2016-08-17 1 views
0

스위프트는 매우 초록색이며 저장 한 사진의 파일 URL을 가져 오려고합니다. 아래는 내가 내 인생이 구축 얻을 수없는, 그러나 작은 snippet inspired from this StackOverflow question스위프트에서 PhotosAlbum에 저장된 사진의 URL을 가져올 수 없습니다.

let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageDataSampleBuffer) 
// Save the photo to the album library 
let image = UIImage(data: imageData)! 
let orientation = ALAssetOrientation(rawValue: image.imageOrientation.rawValue)! 
ALAssetsLibrary.writeImageToSavedPhotosAlbum(image.CGImage, orientation: orientation, completionBlock: { 
              (url: NSURL!, error: NSError!) -> Void in 
    if error != nil { 
     print(error) 
    } else { 
     // We have the URL here 
    } 
}) 

입니다. ,

Expected an argument list of type '(CGImage!, orientation: ALAssetOrientation, completionBlock: ALAssetsLibraryWriteImageCompletionBlock!)'

한 명백한 문제는 내가 그 오프 년대의 CGImage 매개 변수입니다 볼 수 있습니다,하지만 난 아무 단서 방법이 변경되지해야합니다 : 그것은 다음과 같은 오류 보여주는 것 :

Cannot invoke 'writeImageToSavedPhotosAlbum' with an argument list of type '(CGImage?, orientation: ALAssetOrientation, completionBlock: (NSURL!, NSError!) -> Void)'

을 그리고 기대 알리는 것 그게 유일한 문제라면 아무도 이것을 보지 않았거나 여기 내 루키 실수가 무엇인지 보지 못했습니까?

답변

1

선택 사항 인 image.CGImage이 있으면 오류를 해결해야한다고 표시됩니다.

이렇게하면됩니다.

let library = ALAssetsLibrary() 
library.writeImageToSavedPhotosAlbum(image.CGImage!, orientation: orientation, completionBlock: { 
    url, error in 
    if error != nil { 
     print(error) 
    } else { 
     // We have the URL here 
    } 
}) 

새로운 Photos.framework는 원하는 기능을 제공합니다. 다음은 수행하려는 작업과 관련된 부분이 포함 된 developer library에 대한 링크입니다.

+0

맞아요,하지만 옵션을 풀 때, 나는 추가를 얻지 못합니다! 여전히 오류가 나타납니다. 'CGImage, orientation : ALAssetOrientation, completionBlock : (NSURL!, NSError!) -> Void) '형식의 인수 목록을 사용하여'writeImageToSavedPhotosAlbum '을 호출 할 수 없습니다.' 그리고 여전히 불평합니다. 'CGImage!, orientation : ALAssetOrientation, completionBlock : ALAssetsLibraryWriteImageCompletionBlock! '' – gordysc

+0

새 포토 프레임 워크로 전환하는 것이 좋습니다. 애셋 라이브러리는 iOS 9부터 더 이상 사용되지 않습니다. 다음 링크는 https://developer.apple.com/library/ios/documentation/Photos/Reference/Photos_Framework/index.html#//apple_ref/doc/uid/TP40014408 –

+0

입니다. 단지 개념의 증명을위한 것입니다. 그리고 저는 너무 가깝습니다. 저는 이걸 일할 수 있는지 정말로보고 싶습니다. 나는 이것이 생산중인 것에 대해 걱정하지 않는다. 링크를 가져 주셔서 대단히 감사합니다. 만약 내가 이것을 끝내지 못한다면, 답을 완벽하게 표시하고 Photos Framework를 계속 진행할 것입니다. – gordysc

관련 문제