在 iOS 11.0 之前检查 pdf 是否受密码保护

Check pdf is Password protected or not before iOS 11.0

我收到一个 url,其中包含一个 pdf 文档。

如果密码受到保护,我需要向用户询问密码。

在 iOS 11.0 之后使用 PDFkit 也可以这样做。

    if #available(iOS 11.0, *) {
                    if let pdfDocument = PDFDocument(url: url) {

                        print(pdfDocument.isEncrypted) 
                        print(pdfDocument.isLocked) 

                        if pdfDocument.isEncrypted {
                            // Its password protected
                        }
                    }
    }
    else {

    // Earlier versions..
    }

有什么办法吗?尽可能不使用任何第三方

对于 iOS 10 或更早版本,您应该使用 CGPDFDocument:

public func isLocked(fileURL: URL) -> Bool? {
    guard let document = CGPDFDocument(fileURL as CFURL) else { return nil }
    return !document.isUnlocked
}