Json으로 게임에서 사용할 Data를 관리하기로 했다. 


별도의 서버를 만들 계획도 있기 때문에 Json은 UE의 라이브러리를 사용하지 않도록 작업을 했다.


 UE

Share 코드 

 FJsonObject, FJsonValue, ...

rapidjson 사용 

 FString

std::wstring 사용 


그런데 에디터에서는 잘 돌던 코드가 Android로 패킹하면 크래시가 발생하는데 Crash 수집을 위해 붙인 Crashlytics에도 Crash가 잡히지 않았다. 의심되는 코드부터 일일히 로그를 찍다보니 Path에 \가 들어있었고 이 경로의 애셋을 로드하다가 크래시가 발생했다. 


지금 블로그에 정리하다가 Logcat을 보니 이미 힌트를 알려주고 있었다. "LoadPackageAsync failed to begin to load a package because the supplied package name was neither a valid long package name nor a filename of a map within a content folder."라고 나왔다. 아마 엔진 내부에서 Fatal로 깔끔하게(?) 끝내서 Crashlytics에 잡히지 않은듯... 


이래서 로그를 잘 봐야 한다.


어쨌던 Path에 \를 넣을 경우 다음 2가지의 귀찮은 문제가 생긴다.


그러니 그냥 \ 대신 /를 쓰도록 보장하거나 FPaths::Normalize 시리즈의 함수를 사용하자.


신고
받은 트랙백이 없고 , 댓글이 없습니다.
secret