我有以下 SwiftUI 代码,其中一个简单的按钮会打开 iOS 文件管理器,并允许用户选择要导入的 CSV 文件。我发现它对于本地存储在我的设备上的文件效果很好,但如果我尝试从 Google Drive 或 OneDrive 选择文件,它会获取一个 URL,但当我尝试从中检索数据时,它会返回一个错误提示找不到该文件。
\n经过一番绞尽脑汁后,我发现在使用文件浏览器时,如果我长按调出上下文菜单,然后查看文件的信息(我猜测可能会将其下拉到手机本地缓存),然后它将按预期工作。下面的 gif 动画显示了这一点:
\n\n我发现,一旦我完成了该缓存技巧,我就可以使用相同的代码在其他应用程序中访问该文件,而不会出现问题,而且我还发现我可以卸载我的应用程序并重新安装它,并且它会继续工作。
\n任何人都可以建议使用 SwiftUI 的方法,在尝试从 Google Drive 或 OneDrive 导入文件时可以避免出现“文件未找到”错误吗?
\n我用于测试的整个代码如下:
\nimport SwiftUI\n\nstruct ContentView: View {\n \n @State private var isImporting: Bool = false\n @State private var fileContentString = ""\n @State var alertMsg = ""\n @State var showAlert = false\n \n func reportError(error: String) {\n alertMsg = error\n showAlert.toggle()\n }\n \n var body: some View {\n \n VStack {\n …
Run Code Online (Sandbox Code Playgroud)