相关疑难解决方法(0)

使用Photos框架删除相机胶卷资产

我正在编写一个测试应用程序,看看是否可以使用Photos框架删除iOS 8中的"照片库"资产.虽然我怀疑这是不可能的,但我发现文档不清楚,并且该网站上的帖子似乎表明它是可能的.例如,见这里.

在我的测试应用程序中,我从库中选择一个资产:

var picker = UIImagePickerController()
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
picker.mediaTypes = [kUTTypeMovie]
Run Code Online (Sandbox Code Playgroud)

在委托回调中,我获取资产的NSURL,并将其放入数组中:

let thePicked = info[UIImagePickerControllerMediaURL] as NSURL!
var videosToDelete: [NSURL] = [theURL]
Run Code Online (Sandbox Code Playgroud)

这是我最不自信的部分,我在哪里获得PhotoLibrary,并执行更改请求以删除资产:

PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
    let assetToDelete = PHAsset.fetchAssetsWithALAssetURLs(videosToDelete, options: nil)
    PHAssetChangeRequest.deleteAssets(assetToDelete)
},
    completionHandler: { success, error in
        NSLog("Finished deleting asset. %@", (success ? "Success" : error))
})
Run Code Online (Sandbox Code Playgroud)

完成处理程序成功返回,但永远不会删除资产.难道我做错了什么?或者我是否试图做一些本身不允许的事情,而我却没有收到正确的反馈意见?

swift ios8 photosframework

5
推荐指数
1
解决办法
3146
查看次数

如何删除Swift iOS8中的最后一张照片?

我尝试从相机胶卷中取出最后一张照片并将其删除.现在我收到了最后一张照片,但在删除最后一张照片时遇到了问题.我试过这种方式,但我删除了所有照片,所以我打算建立一个新的PHFetchResult,它只包含最后一张照片,但我不知道该怎么做.

PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
      PHAssetChangeRequest.deleteAssets(fetchResult)},
      completionHandler: { 
      success, error in
      NSLog("Finished deleting asset. %@", (success ? "Success" : error))
      }) 
Run Code Online (Sandbox Code Playgroud)

谢谢大家回答我的问题!

ios camera-roll swift

1
推荐指数
1
解决办法
4142
查看次数

标签 统计

swift ×2

camera-roll ×1

ios ×1

ios8 ×1

photosframework ×1