微软的官方文档说:
尝试访问 SandBox 之外的持久性,但它不起作用。
首先,我NSSavePanel.SavePanel
根据 SandBox 安全策略使用并为我可以访问的 URL 添加书签。
using (var dlg = NSSavePanel.SavePanel)
{
dlg.AllowedFileTypes = new[] { "zip" };
dlg.Prompt = "Authenticate";
if (dlg.RunModal() > 0)
{
NSError error;
NSData url = dlg.Url.CreateBookmarkData(NSUrlBookmarkCreationOptions.WithSecurityScope, null, null, out error);
}
}
然后我检索访问验证的书签并使其可访问。
NSData data = new NSData();
NSUrl url = NSUrl.FromBookmarkData(data, NSUrlBookmarkResolutionOptions.WithSecurityScope, null, out bool isStale, out NSError error);
url.StartAccessingSecurityScopedResource();
//...
url.StopAccessingSecurityScopedResource();
但是,上面url
将只包含null
,这将导致错误。
我怎样才能让它工作?
我们需要把任何东西NSData data
放在首位吗?