저번 주에 1.2 버젼을 올렸습니다. 통계에 섬머타임이 적용된 버그등을 수정하고 캐릭터 에니메이션을 추가하고 디자인을 조금 변경하였습니다.

어제 1.2 버젼이 리뷰를 끝내고 배포가 되었습니다. 그런데 어플 업로드시 공식 사이트로 등록해 놓은 블로그에 아이팟 터치 1세대 사용자께서 어플리케이션이 멈춘다는 글을 보았습니다. 혹시나 해서 앱스토어를 가보니 업그레이드 후 튕긴다는 리뷰를 보았습니다. 일단 더 이상 다운로드되는 것을 막기위해 스토어에서 내렸습니다.

제가 파악한 범위에서는 1세대 사용자에게서 문제가 발생하는데, 제가 1세대가 없고 늦은 시간이였기 때문에, 1세대를 가지고 있는 지인에게 연락하여 다음날 가져와 달라고 요청했습니다. 원인은 늘 그렇듯이 어처구니 없는 실수였습니다.

sqlite3_finalize(statement);
sqlite3_finalize(statement);

디버깅 하다보니 위와 같은 코드가 있더군요. 아마 복사를 하다 필요없는 sqlite3_finalize까지 같이 가지고 왔나 봅니다. 이 치명적인 오류는 해킹된 아이팟 1세대만 튕기고 나머지 시뮬레이터나 2세대에서는 견딘 것 같습니다.

두번째 어플리케이션이 멈추는 듯한 문제는 지나치게 느려진 속도에 있었습니다. 메인화면은 2개의 View로 나누어 놓았습니다. 상단은 에니메이션이 필요하고 추후에 다양한 에니메이션을 보여 주기위해 Open GL ES를 사용하기 위함이고, 하단의 수량, 시간등을 보여 주는 부분은 매 프레임 마다 에니메이션이 필요 없기 때문이었습니다. 그런데 이번에 업글을 하면서 하단의 뷰도 매 프레임 실행되도록 변경했습니다. 제 2세대에서는 아무 차이가 없었기 때문이었습니다. 하지만 1세대에서는 속도에 심각한 문제가 발생했습니다. 아마 애플도 리뷰시 2시대만 사용하는 것 같습니다.

현재는 이미지 출력시에 가장 간단한 방법인 drawAtPoint를 사용하고 있었습니다. 애니메이션이 더 추가되고 GL로 가기전에 그나마 퍼포먼스가 조금 나은 CGContextDrawImage로 교체할려고 합니다.

아무튼 오류를 고치고 그날 핀 수량을 뱃지로 보여주는 부분을 추가하여 다시 올렸습니다. 아마 다음주 초쯤 올라갈 것 같네요. 사용하고 계신분들께는 너무 죄송합니다.