我正在使用 Flutter 生成发票并将其保存到我在 MacOS 上的本地驱动器。
我尝试了下面的修复程序来授予访问驱动器的权限,但它仍然无法正常工作。
https://www.fluttercampus.com/guide/286/flutter-failed-to-write-to-a-file/
您遇到的错误与权限有关。在构建 Flutter 桌面应用程序时,您需要指定应用程序所需的权限。在这种情况下,您需要访问本地文件系统的权限。
要在 macOS 上请求访问本地文件系统的权限,您需要更新应用程序的授权。请按照下列步骤操作:
转到您的 Flutter 项目的根目录,然后导航到以下路径:
macos/Runner/DebugProfile.entitlements
打开 DebugProfile.entitlements 文件并在 '<dict>' 中添加以下键:
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
这将授予您的应用程序读取和写入用户选择的文件的权限。
如果你想为release模式申请同样的权限,打开以下文件:
macos/Runner/Release.entitlements
在'<dict>'中添加相同的键值对:
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
保存更改并重建您的应用程序。
现在您的应用程序应该能够读取文件并将文件写入本地文件系统。
但是,请记住,您应该使用文件选择器来允许用户选择他们想要保存文件的位置。这样,您可以确保您的应用程序具有写入所选位置的必要权限。您可以使用 file_picker 包 (https://pub.dev/packages/file_picker) 来实现这一点。