스위프트는 매우 초록색이며 저장 한 사진의 파일 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)'
을 그리고 기대 알리는 것 그게 유일한 문제라면 아무도 이것을 보지 않았거나 여기 내 루키 실수가 무엇인지 보지 못했습니까?
맞아요,하지만 옵션을 풀 때, 나는 추가를 얻지 못합니다! 여전히 오류가 나타납니다. 'CGImage, orientation : ALAssetOrientation, completionBlock : (NSURL!, NSError!) -> Void) '형식의 인수 목록을 사용하여'writeImageToSavedPhotosAlbum '을 호출 할 수 없습니다.' 그리고 여전히 불평합니다. 'CGImage!, orientation : ALAssetOrientation, completionBlock : ALAssetsLibraryWriteImageCompletionBlock! '' – gordysc
새 포토 프레임 워크로 전환하는 것이 좋습니다. 애셋 라이브러리는 iOS 9부터 더 이상 사용되지 않습니다. 다음 링크는 https://developer.apple.com/library/ios/documentation/Photos/Reference/Photos_Framework/index.html#//apple_ref/doc/uid/TP40014408 –
입니다. 단지 개념의 증명을위한 것입니다. 그리고 저는 너무 가깝습니다. 저는 이걸 일할 수 있는지 정말로보고 싶습니다. 나는 이것이 생산중인 것에 대해 걱정하지 않는다. 링크를 가져 주셔서 대단히 감사합니다. 만약 내가 이것을 끝내지 못한다면, 답을 완벽하게 표시하고 Photos Framework를 계속 진행할 것입니다. – gordysc