Unity 报错之 UnauthorizedAccessException
Unity 报错: UnauthorizedAccessException
报错原因:在iOS上错误使用直接使用Application.persistentDataPath此目录。
错误使用方式:Application.persistentDataPath + gameType + “_dRule.txt”,,,此使用方式在Android移动端是没有问题的,也许是因为Android对权限要求没有那么严格。
正确使用方式:Application.persistentDataPath + “/” + gameType + “_dRule.txt”,,,需加"/"作为子目录的转换。
报错原文:
UnauthorizedAccessException: Access to the path “/var/mobile/Containers/Data/Application/E9F05959-AC99-47EB-803F-3B4CE5C6673E/DocumentsHLJ_HUN_dRule.txt” is denied.
at System.IO.FileStream…ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in :0
at System.IO.FileInfo.Open (FileMode mode, FileAccess access, FileShare share) [0x00000] in :0
at System.IO.FileInfo.CreateText () [0x00000] in :0
at CreateTableCtrl.CreateRoom (GAME_KIND gameType) [0x00000] in :0
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction1 functor) [0x00000] in <filename unknown>:0 \ at UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchPress (UnityEngine.EventSystems.PointerEventData pointerEvent, Boolean pressed, Boolean released) [0x00000] in <filename unknown>:0 \ at UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchEvents () [0x00000] in <filename unknown>:0 \ at UnityEngine.EventSystems.StandaloneInputModule.Process () [0x00000] in <filename unknown>:0 \ UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction
1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
UnityEngine.EventSystems.StandaloneInputModule:Process()\
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/97398154
- 点赞
- 收藏
- 关注作者
评论(0)