Не могу найти, где разместить файлы для симулятора Xcode на моем Mac

У меня возникли проблемы с поиском места для размещения файлов на моем Mac, чтобы мой симулятор Xcode увидел их.

Работаю над разделом «загрузка файлов» для моего приложения. Прежде чем я вызову UIDocumentPickerViewController, я вызываю свою собственную функцию printSimDir , которую я использую, чтобы открыть нужную папку на моем Mac, чтобы я мог поместить туда свои файлы.

И там у меня есть три файла: "blank_inv, invoice_001.cvs и example.mp3"

Однако в моем симуляторе я не вижу этих файлов. Однако я продолжаю видеть один файл xls, который не является ни одним из трех вышеуказанных файлов. Так что в какой-то момент я понял это правильно. Но не больше.

Я понимаю, что моя проблема также может заключаться в том, как я вызываю UIDocumentPickerViewController, поэтому я также включаю этот код.

      case ButtType.file.rawValue:
    printSimDir()

    let supportedTypes: [UTType] = [UTType.spreadsheet, UTType.commaSeparatedText, .mp3]
    let pickerViewController = UIDocumentPickerViewController(forOpeningContentTypes: supportedTypes)
    pickerViewController.delegate = self
    pickerViewController.allowsMultipleSelection = false
    present(pickerViewController, animated: true, completion: nil)


...


extension UploadInv:  UIDocumentPickerDelegate {

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
    
    for url in urls {
        guard url.startAccessingSecurityScopedResource() else {
            print ("error")
            return
        }
        
        xFile = XFile(fileUrl: url, key: "filename")
        myStartUPButt.isEnabled = true
        
        do { url.stopAccessingSecurityScopedResource() }
        myStatus.text = xFile?.filename
    }
}

func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
    controller.dismiss(animated: true, completion: nil)
    }
}   

printSimDir()

      func printSimDir(){
    //  tried the commented code as well
    //  let fManager = FileManager.default
    //  guard let url = fManager.urls(for: .documentDirectory, in: .userDomainMask).first else {return}
    //  print ("\(url)")
    
    #if targetEnvironment(simulator)
    if let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path {
        print("Documents Directory: \(documentsPath)")
    }
    #endif
}

1 ответ

Для тех, кто с этим сталкивался. Не уверен, где я нашел ответ, но это довольно просто.

Просто перетащите нужные файлы с вашего Mac на главный экран симулятора Xcode. На данный момент пробовали их только по одному.

Это правильный ответ? Я не знаю. Но это работает.

Не пробовал делать это всеми способами (по одному, несколько файлов одновременно, несколько симуляторов и т. д.). Но даже после перезагрузки Mac файлы все еще там.

Другие вопросы по тегам