gpt4 book ai didi

ios - 使用 PHPhotoLibrary 将照片添加到自定义文件夹也会将照片添加到相机胶卷

转载 作者:行者123 更新时间:2023-11-30 13:54:41 25 4
gpt4 key购买 nike

我正在使用 PHPhotoLibrary 创建自定义文件夹并在其中添加图片。它工作正常,但我添加到自定义文件夹的图片也会添加到“相机胶卷”文件夹中。我找到了这个旧线程Add photos in custom album also added in default Album "Camera Roll" ,有人说这是正常行为,但由于该评论是 3 年前的,我想知道在最新的 iOS 版本中是否有一种方法可以仅将图片添加到自定义文件夹中。我搜索了一些文档来证实这一点,但没有运气。

我正在使用的代码:

class TMPhotoAlbum {

static let albumName = "Custom Album"
static let sharedInstance = TMPhotoAlbum()

var assetCollection: PHAssetCollection!

init() {

func fetchAssetCollectionForAlbum() -> PHAssetCollection! {

let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", TMPhotoAlbum.albumName)
let collection = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .Any, options: fetchOptions)

if (collection.firstObject != nil) {
return collection.firstObject as! PHAssetCollection
}

return nil
}

if let assetCollection = fetchAssetCollectionForAlbum() {
self.assetCollection = assetCollection
return
}

PHPhotoLibrary.sharedPhotoLibrary().performChanges({
PHAssetCollectionChangeRequest.creationRequestForAssetCollectionWithTitle(TMPhotoAlbum.albumName)
}) { success, _ in
if success {
self.assetCollection = fetchAssetCollectionForAlbum()
}
}
}

func saveImage(image: UIImage, completion: (Bool, NSError?) -> Void) {

if assetCollection == nil {
return // If there was an error upstream, skip the save.
}

PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
let assetPlaceholder = assetChangeRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection)
albumChangeRequest?.addAssets([assetPlaceholder!])
}, completionHandler: completion )
}

}

最佳答案

这仍然是正常和预期的行为:用户创建的相册中的照片/视频仅引用“相机胶卷”中的原始内容。这个概念从 iOS 5 开始就存在,至今没有改变。

唯一不属于相机胶卷的照片/视频是通过 iTunes 同步的照片/视频、共享照片流以及使用相机连接套件导入的项目。

关于ios - 使用 PHPhotoLibrary 将照片添加到自定义文件夹也会将照片添加到相机胶卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33790291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com