회사를 다니지 않다 보니, 삽질을 한게 얼마만인가 싶네요 ㅎ

얼마전에 아이폰 알바를 했는데, 게임을 하고, 서버에 점수를 등록해서, 1,2,3등에게 경품을 주는 광고용 어플을 개발했습니다.

여기서 문제가 마이크로 사이트를 작업한 곳에서, 한글 Encoding이 잘안된다고 얘길했었는데,

그런곳도 못해 하면서, 우리가 보겠다고 했다.
 
근데 이게 왠걸, iPhone쪽 소스에 문제가 있었나보다.

AppStore의 바이너리를 갈아치우는게 가장 좋은 방법이겠지만, 그럴만한 시간이 없었다.

완전 대박 사고! -_ㅜ .

문제는 Cocoa FrameWork의 NSString Class String 'UTF8String'이라는 녀석을 사용해서 Encoding 했는데, 그게 제대로 안되는 모양이다.

사실 다른 Encoding Method를 사용하려 했는데, TestCode가 그대로 남아 있었던 모양이다 ( 테스트시에도 제대로 안됐음 ㅜ_ㅜ )

그래서 제대로된 UTF8이 나오지 않았기에, Javascript로 UTF8Decode를 아무리 해도 제대로 안나온다 -_ㅜ.

그래서 든 첫번쨰 생각은,

UTF8String Method를 분석해서, Javasciprt로 구현하는것이다.

다행히 GNUStep에 Core Foundation, Foundation Framework 소스가 있기에, 보았는데 완전 대박.
이거 옮기는 시간이 Binary를 새로 올리는것 보다 더 오래 걸릴 기세였다.

이것도, 옵션이 안되고, 그래서 Proxy를 둬서 새로 Encoding을 해서 넘겨 주는것으로 하였다.

OSX에 Web Server를 올리고 ( 정말 감사하게도, apache2가 기본 설치 되어 있다 -_ㅜ )

bash shell 을 cgi 로 사용해서, objc 프로그램을 실행시켜, Core Foundation을 통해서 잘못된 Decode를 풀고,
새로 Encode 하게 하는 script를 짜고,

ASP 상의 XMLHTTPRequest를 통해서, syncronous method로 변환하게 했다.

일단 동작은 하는데 겁나 찜찜하다 ㅜ_ㅜ.

우선 Review Path하면 Patch 해서 App Store에 다시 등록해야 할듯 -_ㅜ

아.. 오래간만에 shell script도 짜고, 간만의 삽질 ㅎㅎ

+ Recent posts