通过在(http://forums.xamarin.com/discussion/24860/documents-directory-has-moved-in-ios-8#latest)开始的线程,我们正在努力使我们的应用程序适应iOS中有关访问iOS 8文件结构的最新变化。我们已经审查并试图实施iOS 8注释中的代码http://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/#Creating_Files_and_Directories,虽然示例代码的结果确实提供了一些环境 变量,一些额外的说明以及如何使结果的行为方式与Environment.GetFolderPath将会有所帮助 - 或者适用于任何适当方法的指导。处理iOS 8对Xamarin内的应用程序容器的更改(替代Environment.GetFolderPath)
构建发布存档并将其推送到运行iOS 8.0的iPad设备(请注意不是8.0.1)后会发生以下情况。我们用下面的代码:
var documents = NSFileManager.DefaultManager.GetUrls
(NSSearchPathDirectory.LibraryDirectory,
NSSearchPathDomain.User)
[0].Path
而我们得到:
/var/mobile/Containers/Data/Application/8C4D70BC-7607-xxxx-xxxx-A503A061E1EF/Library
但是,当我们尝试写入文件,在这个目录中,我们得到的设备日志以下错误:
Sep 25 12:47:22 Cognilores-iPad kernel[0] <Notice>: Sandbox: SEXI_reader(1243) deny file-write-create /usr/share/CogniLore
是否有人能够帮助我们识别出现了哪些问题以及我们可以使用哪种解决方法?这是一个严重的问题 - 我们的应用程序在用户升级到8.0后立即崩溃,我们需要尽快获得更新版本进入审批流程。