C#-iPhone-未经授权的访问异常

我确信Xcode开发人员也可以回答这个问题.
我在下面的Xamarin中有我的代码的屏幕截图.

为什么会出现未经授权的访问异常?我应该可以写到documents文件夹吗?

码:

  var webClient = new WebClient();
        //var documentsFolder = Environment.GetFolderPath (Environment.SpecialFolder.Personal); // iOS 7 and earlier
        var documentsFolder = NSBundle.MainBundle.BundlePath;
        var fileNameAndPath = Path.Combine (documentsFolder, "verses.xml");


        if(!File.Exists(documentsFolder)){

            Directory.CreateDirectory(documentsFolder);

            if(!File.Exists(fileNameAndPath)){

                //File.SetAttributes(fileNameAndPath, FileAttributes.Normal);
                File.Create(fileNameAndPath);
                //Throws exception here.

            }

        }

和错误:

拒绝访问路径“ /var/mobile/Applications/1F95D694-BBA5-4FB3-AE6C-0C2CDD9DEDD8/comexample.app/verses.xml”

拒绝访问路径“ /private/var/mobile/Applications/1F95D694-BBA5-4FB3-AE6C-0C2CDD9DEDD8/Documents/verses.xml”.

我尝试了两条路径,但访问被拒绝.

解决方法:

您无法写入应用程序的分发包路径,该文件夹为只读.我也不确定Xamarin.iOS的“个人”文件夹所指向的位置.

使用此目录,您可以写入该目录:

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
上一篇:如何正确获取android.net.Uri的文件大小?


下一篇:CodeGo.net> Xamarin的Android应用程序:如何获取我的项目的资源文件夹