diff --git a/packages/expo-document-picker/CHANGELOG.md b/packages/expo-document-picker/CHANGELOG.md index e2d26dc99e5a53..25b74ab9b6953d 100644 --- a/packages/expo-document-picker/CHANGELOG.md +++ b/packages/expo-document-picker/CHANGELOG.md @@ -14,6 +14,7 @@ ### 🐛 Bug fixes +- Fix `copyToCacheDirectory` on iOS. ([#23102](https://github.com/expo/expo/pull/23102) by [@aleqsio](https://github.com/aleqsio)) - Fixed Android build warnings for Gradle version 8. ([#22537](https://github.com/expo/expo/pull/22537), [#22609](https://github.com/expo/expo/pull/22609) by [@kudo](https://github.com/kudo)) ## 11.4.0 — 2023-05-08 diff --git a/packages/expo-document-picker/ios/DocumentPickerModule.swift b/packages/expo-document-picker/ios/DocumentPickerModule.swift index 5a980059292626..50f1d44bf0ca86 100644 --- a/packages/expo-document-picker/ios/DocumentPickerModule.swift +++ b/packages/expo-document-picker/ios/DocumentPickerModule.swift @@ -110,7 +110,6 @@ public class DocumentPickerModule: Module, PickingResultHandler { } private func readDocumentDetails(documentUrl: URL, copy: Bool) throws -> DocumentInfo { - let pathExtension = documentUrl.pathExtension var newUrl = documentUrl guard let fileSystem = self.appContext?.fileSystem else { @@ -122,13 +121,16 @@ public class DocumentPickerModule: Module, PickingResultHandler { } if copy { - let directory = fileSystem.cachesDirectory.appending("DocumentPicker") - let path = fileSystem.generatePath(inDirectory: directory, withExtension: pathExtension) + let cacheDirURL = URL(fileURLWithPath: fileSystem.cachesDirectory) + let directory = cacheDirURL.appendingPathComponent("DocumentPicker", isDirectory: true).path + let fileExtension = "." + documentUrl.pathExtension + let path = fileSystem.generatePath(inDirectory: directory, withExtension: fileExtension) newUrl = URL(fileURLWithPath: path) + try FileManager.default.copyItem(at: documentUrl, to: newUrl) } - let mimeType = self.getMimeType(from: pathExtension) + let mimeType = self.getMimeType(from: documentUrl.pathExtension) return DocumentInfo( uri: newUrl.absoluteString,