在 Xcode 8.3 中构建时间太长,特别是 swift 3



我将Xcode 8.3Swift 3一起使用。我编写了一个名为pdfFromData(data:)的方法,从Data形成pdf document,每当我构建项目时,由于此方法而无法构建,这意味着编译器在开始编译我编码pdfFromData(data:)方法的特定文件时被停止/挂起(与Swift 3Xcode 8.2它工作正常)。每当我评论此方法和构建时,都意味着一切正常。

func pdfFromData(data: Data) -> CGPDFDocument? { // Form pdf document from the data.
if let pdfData = data as? CFData {
if let provider = CGDataProvider(data: pdfData) {
let pdfDocument = CGPDFDocument(provider)
return pdfDocument
}
}
return nil
}

这种方法有什么问题?我也想用这种方法构建我的项目。提前谢谢。

我尝试调试您的问题。这是我发现的:

if let pdfData = data as? CFData {
}

上面用于将类型为Data的对象转换为CFData的行是构建需要花费太多时间的地方。

将其替换为以下代码段可显著缩短构建时间。

let pdfNsData: NSData = NSData(data: data) // convert `Data` to `NSData`
if let cfPdfData: CFData = pdfNsData as? CFData { 
// cast `NSData` to `CFData`
}

NSDataCFData是免费桥接电话。

如果有任何疑问,请告诉我

最新更新