Я загружаю PDF из данных, чтобы создать из него UIImage. Мне нужно, чтобы он работал с ios9 в swift 4.
вот мой код:
guard let cfData = CFDataCreate(kCFAllocatorDefault, UnsafePointer<UInt8>(data), data.length) else { return nil}
let cgDataProvider = CGDataProviderCreateWithCFData(cfData)
guard let pdf = CGPDFDocumentCreateWithProvider(cgDataProvider) else { return nil }
но у меня есть ошибка в первой строке: невозможно вызвать инициализатор для типа 'UnsafePointer' со списком аргументов типа '(Data)'
Я ищу помощи, как переписать его. Я пытался с "withUnsafeBytes", но я не смог заставить его работать:
let tempData: NSMutableData = NSMutableData(length: data.count)!
data.withUnsafeBytes {
tempData.replaceBytes(in: NSMakeRange(0, data.count), withBytes: $0)
}
let bytes = data.bytes.assumingMemoryBound(to: UInt8.self)
let cfData = CFDataCreate(kCFAllocatorDefault, bytes, data.length)
guard let cfData = CFDataCreate(kCFAllocatorDefault, UnsafePointer<UInt8>(data), data.length) else { return nil}
let cgDataProvider = CGDataProviderCreateWithCFData(cfData)
guard let pdf = CGPDFDocumentCreateWithProvider(cgDataProvider) else { return nil }