iOS 14将照片保存为.limited身份验证状态

时间:2020-10-14 20:59:00

标签: ios swift

我的照片应用在iOS 14中的新隐私照片功能上存在严重问题,我尝试使其与.limited访问一起使用。由于这些信息很少,我希望有人可以指出正确的方向。

首先,我使用自己的ImagePicker,因为我需要根据不同的条件过滤PHAssset。然后,我将资产传递给ImagePicker,并且仅列出这些资产。其次,它显示一个操作按钮以启动相机拍摄新照片。我认为新的PHPickerViewController仍然没有这些功能吗?!

因此,有关.limited访问状态的所有内容-使用.authorized访问,一切正常! 我成功地从选择器收到了一张新拍摄的照片。但无法将其保存到我自己创建的相册中。首先,我通过

创建相册
let createAlbumRequest = PHAssetCollectionChangeRequest.creationRequestForAssetCollection(withTitle: AlbumName)

成功。接下来,我准备通过

获取此相册的PHAssetCollection对象来添加图片
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", AlbumName)
let collection = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: fetchOptions)

接下来,我将尝试通过

将图像保存到此收藏集
PHPhotoLibrary.shared().performChanges({
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAsset(from: uiImage)
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(for: collection)
...

不起作用,因为before的收集对象为nil。因此我无法收到我刚刚创建的收藏集。

我不知道打开相机,创建相册但无法在其中存储东西有什么意义?!所以我相信我没有得到新的概念:)

顺便说一句,我读到一个弹出窗口,如果一个应用试图添加到集合中,该弹出窗口应该出现,在我看来,这种弹出窗口应该会弹出,但是我从未见过这样的弹出窗口。从集合中删除时,我知道这些。

任何帮助表示赞赏! 谢谢

1 个答案:

答案 0 :(得分:2)

在这种情况下,不会创建您的相册(您可以在设备的相册列表中检查它)。 我为此建议创建了雷达(以使创建相册成为可能,并像Apple的照片一样授予对创建的相册的访问权限。)

您还可以检查:Domain=com.apple.accounts Code=7完成时得到performChanges作为错误。

因此,相册目前具有不同的行为,因此您无法使用.addOnly访问权限来创建相册。