现在它AssetsLibrary
已被弃用,我们应该使用照片框架,专门PHPhotoLibrary
用于将图像和视频保存到用户的相机胶卷。
使用 ReactiveCocoa,这样的请求看起来像:
func saveImageAsAsset(url: NSURL) -> SignalProducer<String, NSError> {
return SignalProducer { observer, disposable in
var imageIdentifier: String?
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let changeRequest = PHAssetChangeRequest.creationRequestForAssetFromImageAtFileURL(url)
let placeholder = changeRequest?.placeholderForCreatedAsset
imageIdentifier = placeholder?.localIdentifier
}, completionHandler: { success, error in
if let identifier = imageIdentifier where success {
observer.sendNext(identifier)
} else if let error = error {
observer.sendFailed(error)
return
}
observer.sendCompleted()
})
}
}
我使用Regift从视频中创建了一个 gif ,我可以验证该 gif 是否存在于我的临时目录中。但是,当我将该 gif 保存到相机胶卷时,我收到了一个神秘的错误:NSCocoaErrorDomain -1 (null)
,这真的非常有用。
有没有人遇到过这个问题?