IOS 相对到绝对路径转换
在接入的一些库中,需要传递文件的绝对路径,可以通过下面的方式进行转换:
1 | IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*InRelatePath);; |
它是定义在 IFileManager
接口中的一个虚函数,应该在各个平台的 PlatformFile 中均有自己的实现,但是在 Android 中依然是相对路径的,不知道 UE 是不是忘了实现了。
IOS:Runtime/Core/Public/IOS/IOSPlatformFile.h
Android 上相对路径转换成绝对路径的方式在之前的笔记中有写。
Android 相对路径转绝对路径
有些需求需要把 FPaths::ProjectDir()
等路径转换为移动设备上的绝对路径,可以参考 Core/Private/Android/AndroidPlatformFile.cpp#L126 中的实现:
1 | // Constructs the base path for any files which are not in OBB/pak data |