윈도우 환경에서 개발한 "착한 포커" 소스를 맥에서 빌드해 보았습니다.
떡하니 실행하자마자 에러가 나네요. 덜덜덜...
윈도우 환경에서는 잘 돌아가는 소스거든요.
여기서 나의 추리
1. Git을 통해 소스를 넘겨받는 동안에 뭔가 문제가 생겼을 것이다. (정확히는 BitBucket 사이트를 경유)
2. 윈도우 환경과 맥 환경에서 같은 유니티 함수라도 다른 동작을 한다?
우선은 1번을 확인해 봤습니다.
거의 1년 가까이 모아둔 checkout들을 한꺼번에 git 서버에 올리고,
그것을 맥에 고스란히 받았더니 중간에 missing된 파일이나 디렉토리가 몇 개 있긴 하네요.
맥에서 missing된 파일들을 확인하고, 윈도우에서 다시 commit해서 새로 받았습니다.
이제 파일들은 동일해졌는데 에러는 여전하네요.
다음으로 2번을 확인해 볼 차례입니다.
디버그 창에서 에러가 난 곳을 확인해 봤더니 아래 코드에서 런타임 에러가 발생하네요.
target = int.Parse (src.Substring(startIndex, (endIndex - startIndex)));
로그를 찍어봤더니 src.Substring 결과가 ""일 때, 즉 숫자 스트링이 들어가야 하는데 빈 문자가 들어갈 경우에 에러가 발생했네요.
어찌보면 당연한 런타임 에러인데... 윈도우에서 빌드하면 잘 넘어갔던게 오히려 의심스러워졌습니다. -_-;;;
해당 코드를 아래와 같이 수정했더니 이제 맥에서도 윈도우와 동일하게 착한 포커가 잘 실행되네요.
string value = src.Substring (startIndex, (endIndex - startIndex));
if(value.Length > 0)
target = int.Parse (value);
혹시 모르니 전체 플레이 테스트도 한 번 해봐야겠네요.
큰 기능이나 문제가 있었던 것은 아니지만,
같은 유니티 코드 & 유니티 개발 환경이라도 윈도우와 맥에서 각각 빌드하면 사소한 차이가 있는 것 같습니다.
나중에 또 발견되면 올릴게요~
전 아직 접해보지 못한 문제지만 다음에 조심해봐야겠네요 'ㅅ'.