我想要做的是将视频保存到PHPhotoLibrary,然后在上传到应用程序中的客户端远程服务器时将其删除(基本上,照片库充当临时存储,以便在任何事情都失败的情况下添加额外的安全层(I已经将我的视频保存在应用程序目录中).
问题:
问题是要工作,一切都必须在没有用户输入的情况下工作.您可以将视频写入照片库,如下所示:
func storeVideoToLibraryForUpload(upload : SMUpload) {
if PHPhotoLibrary.authorizationStatus() != PHAuthorizationStatus.Authorized {
// Don't write to library since this is disallowed by user
return
}
PHPhotoLibrary.sharedPhotoLibrary().performChanges({ () -> Void in
// Write asset
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(NSURL(fileURLWithPath: upload.nonsecureFilePath!)!)
let assetPlaceholder = assetRequest.placeholderForCreatedAsset
let localIdentifier = assetPlaceholder.localIdentifier
// Store local identifier for later use
upload.localAssetIdentifier = localIdentifier
}, completionHandler: { (success, error) -> Void in
....
})
}
Run Code Online (Sandbox Code Playgroud)
这完美无瑕地工作,我得到本地标识符,我存储它供以后使用..独角兽和彩虹.
现在,当我想在上传完成后立即删除该视频时,我会调用以下内容:
func removeVideoFromLibraryForUpload(upload : SMUpload) {
// Only proceed if there …Run Code Online (Sandbox Code Playgroud)