问题描述
我必须使用文档交互控制器预览 zip 文件,但不应预览包含视频内容的 zip 文件。有没有办法使用 swift 检查包含视频内容的 zip 文件?
解决方法
有一个名为 ZIPFoundation 的第三方库可以方便地遍历 zip 条目。
- 在您的项目中安装
pod 'ZipFoundation'
。 - 在您的项目中复制/粘贴下面的帮助程序代码。
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)
}