0
私たちのアプリではPDFKitを使用することを誇りに思っていますが、いくつかのドキュメントでクラッシュが発生し、Links Handlingに関連しています。 https://www.tinaja.com/glib/pdflink.pdfPDFKit annotation nullクラッシュする可能性のあるヌル属性になる可能性があります
問題は、我々は、PDFでの注釈のリンクのURLを取得することで、オブジェクトPDFActionUrlが非NULL可能であるurl: URL
性質を持っている:
しかし、事実は、それがヌルであって、それが起きたときにクラッシュを引き起こすことを示しています!遊び場での概念の
証明:
import PDFKit
guard let pdfUrl = Bundle.main.url(forResource: "pdflink", withExtension: "pdf") else {
fatalError("no pdf url")
}
guard let pdf = PDFDocument(url: pdfUrl) else {
fatalError("no pdf document")
}
guard let firstPage = pdf.page(at: 0) else {
fatalError("no page")
}
firstPage.annotations[0].action // URL Action - (null)
firstPage.annotations[1].action // URL Action - (null)
guard let action = firstPage.annotations[0].action as? PDFActionURL else {
fatalError("no action")
}
// PDFActionURL.url is non-nullable URL type
action.url // error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).
、誰もが、我々は値をチェックし、クラッシュを防ぐことができます方法を知っていますか?あなたの情報については