Flutter MacOs 访问文件
Flutter MacOs access to files
我正在尝试在 Flutter 中构建一个自定义桌面应用程序,以便能够加载图片,例如图库。
为此,我会要求用户选择一个文件夹,它会自动显示图片。
现在,从简单的事情开始,因为这是第一次为 Mac 开发,我只是想通过 Image.file(new File)
方法显示图片。
The issue that I got back is
======== Exception caught by image resource service ================================================
The following FileSystemException was thrown resolving an image codec:
Cannot open file, path = 'media/preview.jpg' (OS Error: Operation not permitted, errno = 1)
我在想不知何故与权利有关。
我的权利是:
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.assets.downloads.read-write</key>
<true/>
<key>com.apple.security.assets.pictures.read-write</key>
<true/>
<key>com.apple.security.assets.downloads.read-write</key>
<true/>
但由于我要加载图片的文件夹可能在任何地方,我想知道这是否是我出错的原因。
因此,只要您的应用程序在沙盒中,它看起来就只能在用户从打开的对话框中选择这些文件夹(下载、图片、音乐和电影)之外的文件时打开它们。
所以出于开发目的,我禁用了沙盒,意识到我无法在 Apple Store 上分发。
但至少我可以发展。享受
我遇到了同样的问题并通过在 example/macos/Runner/DebugProfile.entitlements
中禁用 com.apple.security.app-sandbox
来解决它:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
</dict>
</plist>
我无法访问位于外部的文件。但它对我有用,非常感谢...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
</dict>
</plist>
我正在尝试在 Flutter 中构建一个自定义桌面应用程序,以便能够加载图片,例如图库。 为此,我会要求用户选择一个文件夹,它会自动显示图片。
现在,从简单的事情开始,因为这是第一次为 Mac 开发,我只是想通过 Image.file(new File)
方法显示图片。
The issue that I got back is
======== Exception caught by image resource service ================================================
The following FileSystemException was thrown resolving an image codec:
Cannot open file, path = 'media/preview.jpg' (OS Error: Operation not permitted, errno = 1)
我在想不知何故与权利有关。 我的权利是:
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.assets.downloads.read-write</key>
<true/>
<key>com.apple.security.assets.pictures.read-write</key>
<true/>
<key>com.apple.security.assets.downloads.read-write</key>
<true/>
但由于我要加载图片的文件夹可能在任何地方,我想知道这是否是我出错的原因。
因此,只要您的应用程序在沙盒中,它看起来就只能在用户从打开的对话框中选择这些文件夹(下载、图片、音乐和电影)之外的文件时打开它们。
所以出于开发目的,我禁用了沙盒,意识到我无法在 Apple Store 上分发。
但至少我可以发展。享受
我遇到了同样的问题并通过在 example/macos/Runner/DebugProfile.entitlements
中禁用 com.apple.security.app-sandbox
来解决它:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
</dict>
</plist>
我无法访问位于外部的文件。但它对我有用,非常感谢...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<false/>
</dict>
</plist>