1

我必须使用 Document Interaction Controller 预览 zip 文件,但不应预览包含视频内容的 zip 文件。有没有办法使用 swift 检查包含视频内容的 zip 文件?

4

1 回答 1

2

有一个名为ZIPFoundation的第三方库,可以方便地遍历 zip 条目。

  1. 安装pod 'ZipFoundation'在您的项目中。
  2. 在您的项目中复制/粘贴下面的帮助代码。
import Foundation
import ZIPFoundation

extension String {
    var pathExtension: String {
        URL(fileURLWithPath: self).pathExtension
    }
}

extension Archive {
    var containsVideo: Bool {
        let videoTypes: [String] = ["MOV", "MP4", "AVI"]
        for entry in self where entry.type == .file {
            let type = entry.path.pathExtension.uppercased()
            if videoTypes.contains(type) {
                return true
            }
        }
        return false
    }
}

从呼叫站点,您可以像下面这样使用它 -

if let zipURL = Bundle.main.url(forResource: "Test", withExtension: "zip"),
    let arhive = Archive(url: zipURL, accessMode: .read) {
    print(arhive.containsVideo)
}
于 2021-06-22T08:55:46.780 回答