iOS5 와 iOS6에서의 Date Formatter

프로젝트를 진행하다가 발견된 문제로 일단 기록에 남기기 위해 급하게 써봅니다. 진행 중인 프로젝트에서 DATE를 받아서 처리하는 부분이 꽤 많은데 서버에서 넘겨받은 DATE 문자열이 “2012-10-31T18:00+09:00“이라고 했을 때 이 포맷은 ISO8601에도 명시되어 있는 포맷이 맞음에도 불구하고 붉은색 문자의 처리가 iOS5와 iOS6에서 다름을 알게 되었습니다. 즉, NSDateFormatter를 이용하여 date format을 정의할 때 iOS6에서는 ‘yyyy-MM-dd’T’HH:mmZZZZ’ 으로 정의하면 제대로 파싱이 되지만, iOS5에서는 (null)로 처리되는 문제가 있었습니다. iOS5에서 따로 처리를 해주는 것이 있는지는 조사를 좀 더 해봐야 알 수 있겠지만 현재로서는 이 문제 하나 때문에 critical bug가 되어버린 상황이네요… 급한대로 마지막 ZZZZ에서의 세미콜론이 있으면 세미콜론을 무시하는 코드로 적용했지만 꺼림직한 것은 사실이네요. 추후 부가정보를 찾아보고 포스팅을 업데이트 하겠습니다. 혹여 이에 대한 정보를 가지고 계신 분 계시다면 댓글로 가르침 부탁드립니다.

iTunes File Sharing 지원할 경우 Document 디렉토리 사용에 관하여

현 시점의 iOS 공개버전 5.0.1 시점에서 앱 스토어에 앱을 등록 시 sandbox 내의 Document 사용이 엄격히 통제되고 있다. 이유는 iOS5에서 공개된 iCloud 때문이며, iCloud 트래픽을 줄이기 위한 제한사항으로 보여진다. 애플의 권고사항을 간략히 살펴보자면, Document는 사용자에 의해 생성된 데이터야 하며, 다시 다운로드가 가능하거나 캐싱(Caching)용도로 사용할 수 없다. 캐싱용도로 사용을 위해서는 Temp 디렉토리나 Cache 디렉토리 이용을 사용하라는 다소 엄격한 권고사항이다. 위 권고를 어기고 앱 등록 시에는 어김없이 Reject이라는 결과를 얻게되고 Resolution Center에서는 이에 대해 수정하라고 명시된다. 개인적으로는 이 권고는 사용자의 네트워크 비용이나 iCloud 자체의 유지보수 차원에서는 찬성이지만 iTunes File Sharing 과 같은 기능을 지원 시에는 사용자 데이터로 봐야할지 다시 다운로드가 가능한 데이터로 봐야할지 애매하다. 그래서인지 iOS5가 공개되고 얼마되지 않아 iOS5.0.1이 공개되었으며 업데이트 내용 중에는 File Attribute가 추가되었다. 이 역시 간략히 설명하자면, Document 디렉토리에 데이터를 저장하는 것은 가능하지만 File Attribute를 이용해 iCloud와 동기화하지 않도록 속성을 부여해라. 라는 것이다. 그렇다면 다시 iTunes File Sharing 지원을 살펴보자. 자주 사용하는 분들은 아시겠지만 iTunes File Sharing의 경우…

Apple Tech Talk 2011 in Seoul 참관기

지난 목요일 (2011.12.08) 애플 본사에서 주최한 Tech Talk 2011 in Seoul 행사가 킨텍스에서 진행되었습니다. 많은 지원자 가운데 초대된 분도 계셨고 초대되지 않은 분도 계셨는데요. 행사 내용 자체가 NDA라고 하여 많은 정보는 나누질 못하겠네요. 대신에 들었던 내용들 중 알짜들은 정리해서 눈치 못채게 올려보려 합니다. 우선은 행사 참관기를 정리해봅니다. 행사 일정은 정말 꼼꼼했습니다. 오전부터 오후까지 쉬는 시간이 10분이었는데도 불구하고 빽빽했죠. 맘 같아서는 다 듣고 싶었지만 스케쥴링을 해야했습니다. 행사장은 킨텍스 2전시장 4층이었습니다. 약 20분정도 먼저 도착해서 접수를 하고 홀에 마련된 음식들을 먹었습니다. 여러 지인들을 만나면서 커피와 쥬스, 샌드위치, 바나나 등 아침대용의 음식을 조금 즐기고 세션장이 오픈되어 세션장으로 들어섰습니다. 첫 세션은 Kick-off. 애플이 좋아하는 숫자들이 나열되었고 iOS의 변천사 등 애플의 깔때기였습니다. 두 번째 세션은 HIG(Human Interface Guide)에 대해서였는데 여러 레퍼런싱 앱들이 소개가 되었으며, ‘최고의 앱’을 만들어라는 교훈을 개발자들에게 던지면서 끝났습니다. (어쩌라는거야?!) 세 번째 세션은 iCloud. 저도 조금 만져봤던 녀석이었지만 역시나 설명을 직접 들으니 명백해지더군요. 데모앱으로 어떤 걸 만들어볼까 고민 중에 있습니다. 들었던 내용을 바탕으로…

kth H3 발표 후기..

준비를 많이하지 못했습니다. 이런저런 업무와 개인적인 일들이 하필 발표 준비 기간에 겹쳐서라고 핑계를 대고 싶지만 핑계겠죠. 어릴 적부터 글 쓰는 것과 발표하는 것을 싫어하던 꼬마는.. 나이가 들어서도 극복하지 못하고 싫어하며, 책에 수록할 자료들을 겨우 작성하고 제출했고 이를 토대로 발표를 해야한다는 부담감에 휩쌓였습니다. 시간은 하루하루 빠르게 흘러가고 점점 압박감은 심해지고 있었습니다. 드디어 D-Day. 오후 세션이었지만 역시 시간은 빠르게 흘러갔습니다. @heaven_sweetie 님이 촬영해 트윗에 올려주신 사진 여친님도 앞에와서 지켜보고 있는데 부끄러워지겠구나.. 트윗 친구분들도 많이 오신 것 같은데 부끄러워지겠구나.. 도망가고 싶었습니다….! 다행히 도망은 가지 않았고 세션이 시작했습니다. 여친님이 페북에 올린 사진 시간이 어떻게 흘러가는지.. 내가 무슨 말을 하고 있는지도 모른채 머릿 속과 입은 따로 움직였습니다. chaos! 발표가 끝났습니다. 몇 분이 오셔서 인사를 해주셨고 또 질문도 받았습니다. 감사합니다 ㅠ.,ㅠ 그리고 실수한 부분을 들었습니다. 이 발표를 하게된 건 기획자분들 덕분인데 제가 “염려”라는 단어를 “반대”라는 단어로 말을 했다고 합니다.. 아…. 이거 되돌릴 수도 없고 어떻해야하나.. 걱정에 휩쌓였습니다. 이 자리를 빌어 기획자분들에게 죄송하다는 말씀을 전합니다..  죄송합니다..! 발표가 끝나…