【发布时间】:2016-05-02 18:50:15
【问题描述】:
现在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),这真的非常有用。
有人遇到过这个问题吗?
【问题讨论】:
-
遇到同样的问题,找不到解决办法,可能是文件格式不支持。
-
偶然解决?
-
很遗憾没有,这个项目很久以前我什至不确定我是否有代码了
标签: ios swift camera-roll