通過在(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後立即崩潰,我們需要儘快獲得更新版本進入審批流程。