【问题标题】:iOS exclude images from Whatsapp in Photos framework queryiOS 在照片框架查询中从 Whatsapp 中排除图像
【发布时间】:2018-10-26 14:58:33
【问题描述】:

是否可以只查询设备相机拍摄的 PHAsset?例如排除 Whatsapp 发送给您的图像。

我尝试了以下方法但没有成功: 1. 按资产 mediaSubtype 和 sourceType 过滤 2. 按原始文件名过滤,因为 Whatsapp 图像通常在文件名中使用 UUID。

第二个选项似乎最有希望,可能与位置等其他元数据结合使用(WhatsApp 图像通常会去除此信息)。

理想情况下,过滤应该发生在 PHAsset 查询上,并且出于性能原因不需要调用 ImageManager.requestImage()。

【问题讨论】:

    标签: ios whatsapp photosframework


    【解决方案1】:

    您可以过滤掉“WhatsApp”相册中的资产。

    这是您可以使用的示例函数(swift 4.2):

    static private func assetIsFromWhatsapp(_ asset : PHAsset) -> Bool {
        let collection = PHAssetCollection.fetchAssetCollectionsContaining(asset, with: .album, options: nil)
    
        for index in 0..<collection.count  {
            let item = collection.object(at: index)
            if item.localizedTitle == "WhatsApp" {
                return true
            }
        }
    
        return false
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 2017-08-24
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多