• [게임 개발] Unity - Windows와 Mac 빌드시 차이2014.07.31 AM 07:34

게시물 주소 FONT글자 작게하기 글자 키우기

윈도우 환경에서 개발한 "착한 포커" 소스를 맥에서 빌드해 보았습니다.
떡하니 실행하자마자 에러가 나네요. 덜덜덜...
윈도우 환경에서는 잘 돌아가는 소스거든요.

여기서 나의 추리
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);

혹시 모르니 전체 플레이 테스트도 한 번 해봐야겠네요.
큰 기능이나 문제가 있었던 것은 아니지만,
같은 유니티 코드 & 유니티 개발 환경이라도 윈도우와 맥에서 각각 빌드하면 사소한 차이가 있는 것 같습니다.
나중에 또 발견되면 올릴게요~
댓글 : 6 개
흠... 그런경우가 있나보군요.
전 아직 접해보지 못한 문제지만 다음에 조심해봐야겠네요 'ㅅ'.
크게 문제는 없을거에요. 아마도 :)
맥에서 돌아가는 유니티는 .Net 플랫폼과 호환되는 Mono를 사용해서 그런 것 같네요.

아직 Mono의 완성도가 쓸만은 하지만, 완벽한 수준은 안되기 때문인 것 같습니다.

결국 이용하는 사람이 더 신경쓰는 수 밖에 없겠네요.
맥 개발자가 많아지면 사소한 개발 정보들도 더 많이 공유되겠지요.
유니티로 게임 개발하는 커뮤니티가 있는지 좀 찾아볼구요.
점점 무슨 뜻인지 모르겠군요 ^^;
노력 하시는 모습 정말 멋지십니다.

저는 할일은 많은데 더위때문에 너무 지쳐가는군요
더운 여름 몸 관리 잘하시고 화이팅입니다. !!
개인사업자 1년 한 경험이랑, 새로 회사 입사해서 공부하다보니 저는 정말 가진게 없구나 하는 생각이 많이 들더군요.
그저 노력하는 것 밖에는 답이 없는 것 같습니다. 잘 못하면 그냥 열심히라도 해야죠. ㅠㅠ

많이 더워하시는 걸 보니 회사가 아니라 집에서 일하시나봐요?
zzick2님도 몸 관리 잘하시구요. 결과 나오면 저한테도 꼭 알려주세요~
친구글 비밀글 댓글 쓰기