我的照片应用程序对iOS 14中新的隐私照片功能有严重的问题,我试图让它与.limited access一起工作。因为这些信息很少,所以我希望有人能给我指明正确的方向。
首先,我使用自己的ImagePicker,因为我需要根据不同的条件过滤PHAsssets。然后,我将资产传递给我的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)
...这不起作用,因为之前的集合对象为nil。所以我不能收到我刚刚创建的收藏。
我不知道为什么允许打开相机,创建相册,但不能在里面存储东西?!因此,我相信我没有理解新的概念:)
顺便说一句,我读到了一个弹出窗口,如果一个应用程序试图添加到集合中,它应该会出现,我想在我的情况下应该会弹出,但我从来没有见过这样的弹出窗口。当从集合中删除时,我知道这些。
感谢任何人的帮助!谢谢
发布于 2020-10-22 18:12:53
在这种情况下,不会创建您的相册(您可以在设备上的相册列表中检查它)。我已经为它创建了雷达作为一个建议(使创建相册成为可能,并允许访问创建的相册,就像苹果对照片所做的那样)。
你也可以检查一下:在performChanges补全中你得到了Domain=com.apple.accounts Code=7作为错误。
所以相册目前有不同的行为,你不能用.addOnly访问来创建它们。
https://stackoverflow.com/questions/64361418
复制相似问题