이번엔 두가지 이유로 거절당했다. In App Purchases 에서 null 값으로 표시되는 것과 iOS 5.0 iCloud을 위한 데이터 저장 정책을 따르지 않은 이유다.
첫번째 문제는 App Rejected 가 되면 In App Purchases 의 Review도 같이 Rejected 되는데 이
경우 서버로부터 값을 제대로 받아오지 못한다. 코드상 문제는 없었고 단지 IAP의 Status을 Rejected에서 Waiting
for review로만 바꾸기만 해서 해결했다.
두번째 문제는 iOS iCloud 데이터 저장 정책인데 이전과 달리 꽤나 엄격하게 심사를 한다. 심지어 다운로드받은 파일이 얼마나 Document 에 저장되는지도 체크해서 용량까지 알려준다. 4.5MB도 허용 안해~!
In particular, we found that the app is storing too much data in incorrect location: 4.5 MB.Document 에 저장되는 파일이 자동 동기화되기 때문에 쓸데없는 파일이 iCloud와 동기화되어 저장용량을 갉아먹지 않도록 하기 위해서인데 iCloud의 사용자 만족도를 높이기 위해 부단히 노력하는 듯 하다. 이해해줌 -_-;
그럼 어떤 점을 유의해야 하냐면..
- Document 에는 사용자가 생성,수정,삭제 가능한 파일만 올릴 것. (꼭 필요한 내용만..)
- 다운로드 가능한 데이터는 Cache 에 저장할 것. (구입한 책, 뉴스잡지, 맵타일 등)
- 앱종료시 삭제해도 좋은 데이터는 tmp 에 저장할 것.
- iCloud와 동기화할 필요가 없는 파일/디렉토리에는 "do not back up" 속성을 부여할 것.
iCloud는 개발자에게 애물단지가 될 듯하다. 다운받은 파일을 Cache에 저장하므로 파일의 무결성을 보장하기 위한 코드작성을 필히 해줘야 앱의 안정성을 보장할 수 있기 때문이다.
데이터 저장소 문제 때문에 DB Schema와 파일저장 위치 변경해서 새로 바이너리를 올렸으니.. 다음 리뷰는 시간이 좀 걸릴 듯 하다.. 에잇..
아 언제까지 기다려야 하나~ T_T
출처 : http://blog.appgate.in/7
'프로그래밍 > iOS' 카테고리의 다른 글
Skinning a UIProgressView with drawRect and images (0) | 2012.04.25 |
---|---|
iOS 앱 개발시 AES 256으로 데이터 암호화하여 저장하기와 복호화하여 읽어오기 (0) | 2012.04.24 |
iCloude관련 리젝시 (0) | 2012.04.24 |
언어코드와 지역코드 (0) | 2012.04.23 |
파일 이어받기 (0) | 2012.04.18 |