我正在尝试使用 Filestream 在 Xamarin.IOS 中创建一个空的 PDF 文件。当我尝试使用以下代码创建文件流时:
FileStream fs = new FileStream("InvestmentAgreemen.pdf", FileMode.Create, FileAccess.ReadWrite);
我收到以下错误:“访问路径“/private/var/containers/Bundle/Application/05AA1616-B66B-483D-8BA1-80A2B1AEC973/NewEPA.app/InvestmentAgreemen.pdf”被拒绝。”
在 iPad 模拟器上运行时它运行良好,但是当我将它移到真实设备上时,我就遇到了这个权限错误。此外,我必须使用文件流来创建空 PDF,因为我还在使用 Syncfusion 的 xamarin.IOS PDF 工具,这需要使用文件流进行保存。 我还尝试创建一个 FileIOPermission 对象,将 AllAccess 授予 AllFiles,但出现系统不允许的错误。 如何解决此权限错误?
最佳答案
您正在尝试在应用程序包的根目录中创建一个文件,该文件是只读的。我很惊讶这在模拟器上也没有失败。
要在运行时创建文件,您需要指定一个 user writable path
var documents =
Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine (documents, "InvestmentAgreemen.pdf");
关于c# - 使用文件流创建新文件时访问被拒绝 - Xamarin IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45335229/