Сохраните файл, используя Swift и iOS - PullRequest
1 голос
/ 11 января 2020

У меня есть приложение iOS, и мне нужно иметь возможность выбрать файл на моем iCloud Drive, изменить файл и сохранить измененный файл с новым расширением. Я перепробовал много вещей, но я все еще не могу написать новый файл. Вот мой последний код:

documentPickerViewController = DocumentPickerViewController(documentTypes: ["public.item"], in: .open)  
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {  
    let fileURL = urls[0]  
    do {  
        // Read the file       
        _ = fileURL.startAccessingSecurityScopedResource()  
        let fileData = try Data(contentsOf: fileURL, options: .uncached)  
        fileURL.stopAccessingSecurityScopedResource()  

        // write the file  
        let fileCopyURL = fileURL.appendingPathExtension("copy")  
        _ = fileCopyURL.startAccessingSecurityScopedResource()  
        try fileData.write(to: fileCopyURL)  
        fileCopyURL.stopAccessingSecurityScopedResource()  
    }  
    catch {  
        print(error.localizedDescription)  
    }  
}  

Когда я выбираю файл на диске iCloud, я получаю следующую ошибку:

У вас нет разрешения на сохранение файл «TestFile.txt.copy» в папке «Test Files».

Как сохранить измененный файл?

1 Ответ

1 голос
/ 11 января 2020

Во-первых, я думаю, вы должны убедиться, что у вас есть правильные права / разрешения для записи в iCloud Drive: Xcode Screenshot

Если это все еще не работает, попробуйте обновить CFBundleVersion или Номер сборки вашего приложения и убедитесь, что ваш Идентификатор пакета (в первом разделе Signing & Capabilities) правильно зарегистрирован в вашей учетной записи Apple Developer.

Согласно вашему коду, что вы ' попытка выполнить sh возможна, но проблема возникает из других источников.

Дайте мне знать, если у вас возникла проблема после этих шагов. Удачи!

...