태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
 

 
블로그 이미지
Android, iOS 어플 개발자 어플 소개, 관련 정보, PSP 게임, Wii 게임, NDS 게임, 토런토 공유, 일본, 재테크에 관심있습니다. My App Factory


 

'프로그래밍'에 해당되는 글 21

  1. 2011.02.10 Renewal IPhone Development Program
  2. 2010.07.02 [cocos2d, iOS 4.0] jpg 사용시 발생하는 문제해결
  3. 2010.07.02 [IPhone OS 4.0, XCode] 디버깅중 시뮬레이터에서는 이상없는데 디바이스에서 에러가 발생할 경우 (1)
  4. 2010.07.01 [OPenFeint & iOS 4.0] OPenFeint 2.4.10 Release (1)
  5. 2010.06.30 [App Store] Application Loader 사용하니 좋군요. (1)
  6. 2010.06.26 [App Store-IPhone/IPod Touch]손으로 쓰며 외우는 단어장 All-IN-1 등록 && 단어발음추가 (2)
  7. 2010.06.14 [xcode]error g++ -4.2 failed with exit code 1 (5)
  8. 2010.06.13 [앱스토어 아이폰/아이폰터치] 무료의 힘! (1)
  9. 2010.05.19 [App Store관련] ITunes Connect 변경사항
  10. 2010.05.09 [종료][App Store-IPhone/IPod Touch] Touch!Brain! 업데이트 Version 1.2 (9)
  11. 2010.04.18 [종료][App Store - 자작 게임] Touch Brain - 터치!브레인! 리딤코드 배포합니다. (10)
  12. 2010.04.14 [종료][App Store - 자작 게임] Vampire`s Library - 뱀파이어의 도서관 - 판매개시, 리딤코드 배포 (18)
  13. 2010.04.14 [App Store] 첫번째 어플 - Ready for Sale
  14. 2010.04.12 [objective C] NSDate로부터 int형의 년, 월, 일 추출하기
  15. 2010.04.08 [objective C] New Line 개행문자
  16. 2010.04.07 [XCode Tip] XCode에서 아이폰으로 인스톨시 "Failed to upload MyApp.app" 에러 발생 (3)
  17. 2010.04.06 [XCode Tip] IPhone Simulator 초기화 혹은 파일 삭제
  18. 2010.04.01 첫번째 리젝 - UIRequiredDeviceCapabilities key 설정 관련 (2)
  19. 2010.03.17 [objective C] int -> string 변환시, 두자리 형식으로 표시하기 - String Format Specifiers, 문자열 형식 지정자관련
  20. 2010.03.15 cocos2d 사운드 출력 코드
  21. 2010.02.02 아이폰 프로그래밍 - cocos2d 설치 및 템플릿 추가하기 (3)
 

Renewal IPhone Development Program

Log - 간단기록, 글 | 2011.02.10 12:01 | Posted by 뉴스로 영어공부 My App Factory

처음 맥미니를 구입하고 개발자 프로그램을 등록한 지가 어느덧 일년이 지나갔네요.
개발자 프로그램 만료가 내일이기에 오늘 갱신을 했습니다.

시작할때의 패기만큼 열심히 했는지, 노력했는지는 의문입니다만
나름 얻은것도 많았고 좋은 경험을 한것 같습니다.

지난 일년간을 생각해보면, 아이폰 개발로 개인개발자가
생활을 꾸려가기에는 정말 좋은 아이디어와 실력이 있지 않고는
힘들지 않을까 생각됩니다.

본업으로 했던 것은 약6개월정도...
그리고 지금은 취업해서 회사를 다니고 있습니다.

회사를 다니면서 안정된 월급의 고마움도 느끼지만
내가 좋아하는 일을 한다는 것이 얼마나 즐거웠나도
새삼 깨닫게 됩니다.

돌아와서 겪는 한국it의 근무환경은 여전하군요.
매일매일 이어지는 야근들...

재취업을 하고난 후에도 맘은 계속 앱개발에 가있지만
게을러서인지, 현실때문인지 좀처럼 손을 댈수가 없더군요.

개인의 미래를 생각해서는
회사일에 더 많은 시간을 할당해서
인정받고 더 위로 올라가는 길이
낫지않나라는 생각도 자주 듭니다만.

내가 좋아서 하는일의 재미는 잊기 힘든 유혹인 것 같습니다.
다시 일년, 다음 일년에도 지금처럼 나름 괜찮았다는 생각을 할 수 있었으면 하는 바램입니다.

[cocos2d, iOS 4.0] jpg 사용시 발생하는 문제해결

컴퓨터/cocos2d & objective C | 2010.07.02 23:29 | Posted by 뉴스로 영어공부 My App Factory

오늘도 열심히 4.0으로 앱들을 변경하는 중입니다. cocos2d에서만 발생하는 문제인지 모르겠으나 jpg 이미지들이 4.0에서는 모두 검거나 흐릿하게 출력되는 버그가 발생했습니다. (png파일들은 문제없더군요.)
구글링해서 찾은 해결방법입니다. 사용하는 cocos2d 버젼에 따라 위치 차이는 있겠으나 동일한 구문을 수정해주면 될듯합니다. 

CCTexture2D.m 파일의 - (id) initWithImage:(UIImage *)uiImage 함수중

hasAlpha = ((info == kCGImageAlphaPremultipliedLast) || (info == kCGImageAlphaPremultipliedFirst) || (info == kCGImageAlphaLast) || (info == kCGImageAlphaFirst) ? YES : NO);

에 다음 부분을 추가해 주시면 해결됩니다. 

hasAlpha = ((info == kCGImageAlphaNoneSkipLast) || (info == kCGImageAlphaPremultipliedLast) || (info == kCGImageAlphaPremultipliedFirst) || (info == kCGImageAlphaLast) || (info == kCGImageAlphaFirst) ? YES : NO);
에휴.. 오늘도 깜놀했군요. ^^;


결론부터 말씀드리면 디바이스 리셋부터 한번 해보시기 바랍니다. 

4.0 업데이트후로 게임이 다운되거나 아예 동작이 안된다는 리뷰들이 올라와서 iOS4.0에서 문제가 있는 어플들 하나씩 새로 올리는 중입니다. 어제 하나를 새로 빌드해서 올리고 다음 어플을 고치는 중에 OPenFeint관련 에러가 발생하여 최신 버젼으로 교체를 하게 되었습니다. 문뜩 어제 올린것도 아직 리뷰전이니 기왕이면 같이 교체해주는것이 나을것 같아 OPenFeint를 새로 넣어주고 빌드하고 있었습니다. 어제는 분명, 아이폰에서 테스트 잘 하고 이상없어서 올린 어플이 갑자기 문제가 생기기 시작했습니다. 기존 어플을 삭제하고 새로 인스톨하면 처음 실행은 되는데 이후로는 실행하면 SIGARBT 에러가 계속해서 발생하는 것이였습니다. 

4.0으로 업그레이드한후 문제가 생기면  Framework를 새로 넣어보라는 글이 있어 전부 지우고 새로 등록해도 아무런 해결이 안되더군요. 빌드 옵션부터 cocos2D도 최신으로 올려보기도 하고 Warning 나오는 부분들 다 찾아다니고.. 근 하루를 허비해서 이시간까지 봐도 뚜렷한 해결방법을 못 찾았습니다. 

어디가 문제인지도 나오지 않는 에러에.. 시뮬레이션에서는 생생하게 잘 돌아가고.. 아이폰에 넣기만 하면 계속 똑같은 현상.. 참.. 죽을 맛이더군요. 

꼬박 하루를 시달리다 혹시나 싶은 마음에 아이폰을 껏다켜니 거짓말처럼 문제가 없어지는군요.... ㅜ.ㅜ

예전에도 XCode가 이상하면 재실행하라는 글을 올린 적이 있는데.. 
2010/04/07 - [프로그래밍 관련/XCode] - [XCode Tip] XCode에서 아이폰으로 인스톨시 "Failed to upload MyApp.app" 에러 발생

이건 모.. 뻑하면 껏다켜야 해결되는군요. xcode버젼업하고나면 멀쩡히 잘 있는 파일들 링크가 사라져서 파일 못 찾겠다고 나오질 않나.. 프로세스는 종료라고 나오면서 꼭 디버그 멈춤을 해줘야 빌드를 풀어주질 않나.. 

윈도우, 비쥬얼 스튜디오에 너무 익숙해서 그런것일수도 있지만 개발환경은 아직 윈도우에 못 따라가는듯 합니다. 
에휴.. 오죽하면 저 XCode 그림이 망치가 아니라 삽을 넣어도 어울리겠다는 생각이 드는군요. 



[OPenFeint & iOS 4.0] OPenFeint 2.4.10 Release

컴퓨터 | 2010.07.01 15:26 | Posted by 뉴스로 영어공부 My App Factory

iOS 4.0지원의 2.4.10 버젼이 릴리즈되었습니다. 
2.4.5 버젼도 잘 동작하는것으로 보아 급하게 업데이트할 필요는 없어보입니다만, 2.4.5보다 이전 버젼은 4.0에서 Exception을 일으키네요. 대부분 게임 초기 로드시 OpenFeint를 올리니 실행하자마자 바로 뻗어버립니다. 

저도 앱중 두개가 이전 버젼이라 급하게 교체해주어야 할것 같습니다. 

'컴퓨터' 카테고리의 다른 글

[OPenFeint & iOS 4.0] OPenFeint 2.4.10 Release  (1) 2010.07.01
[Tip] Mac, SVN download, google code  (0) 2010.04.22

[App Store] Application Loader 사용하니 좋군요.

컴퓨터/App Store | 2010.06.30 02:04 | Posted by 뉴스로 영어공부 My App Factory
요즘 작업중인 단어장 어플에 발음을 추가했더니 압축파일로 약 200메가 정도의 크기가 되어버렸습니다. (App Detail에서는 여전히 Non-Fat Binary라고 나오네요. 한 1기가정도 되어야 무겁게 봐주는건지.. ) 여하튼 웹으로 접속해서 올릴때는 업로드에 꽤 많은 시간을 잡아먹기에 Application Loader를 사용해 보았습니다. 

처음 다운로드 해놓았을때는 사용법을 몰라 방치해두었던 것인데 정작 사용해보니 너무 간단하네요. 다른 작업은 평소처럼 웹으로 접속해서 ITunes Connect에서 한 다음, 바이너리는 나중에 올리도록 설정해놓습니다. 이후 어플리케이션 로더로 로그인하면 업로드 대기상태인 어플들의 리스트를 받아오는군요. 이후 로컬에 있는 압축파일을 선택해주면 끝입니다. 


업로드에는 초당 3메가정도로 저희집 회선속도를 거의 풀로 사용해서 올라가지만 ITunes connect에서 업로드가 반영되는 건 조금 시간이 걸립니다. 그래도 대략 5분정도 후면 업로드 완료에서 리뷰대기 상태가 되는군요. 

작은 어플들은 그냥 올려도 상관없지만 일이백 메가 넘어가는 크기면 이쪽이 편한것 같습니다. 사용법도 아주 편하구요. 




초,중,고등 필수 영단어에 TOEIC단어장까지 합쳐 All-IN-1을 AppStore에 등록하였습니다. 
가격은 4.99달러입니다. 전체 가격이 약 8달러이니 괜찮은 가격이라고 생각됩니다. 

이번 업데이트부터는 각 단어에 발음이 추가되었습니다. 생각같아서는 발음추가로 전체 가격을 상향조정하고 싶지만.. 일단은 좀더 순위권에 올라갔으면 하는 마음에 가격은 그대로 두었습니다. 

두번째 크게 변한 곳은 손필기장입니다. 예전에는 손으로 그린 선들이 많아지면 느려지는 현상이있었는데 고치느라 고생 좀 했습니다. Cocos2d를 안 쓰고 일반 View로 변경할까도 많이 고민했었는데 다행히 해결이 되었습니다. 나름 간단한 그림장으로 써도 괜찮겠다 생각되서 여유가 생기면 기능 좀 더 붙이고 그림판 어플을 따로 만들어 볼까도 생각하고 있습니다. 

다음 업데이트에서는 아마도 단어관리쪽을 손보거나 또 다른 부가기능을 추가할 생각입니다. 좀 더 판매량을 늘리기 위해 영일단어장을 만들어 일본시장쪽으로 팔아볼려고 하는데 그 작업이 어느정도 정리되면 착수할 예정입니다.

[xcode]error g++ -4.2 failed with exit code 1

컴퓨터/XCode | 2010.06.14 15:25 | Posted by 뉴스로 영어공부 My App Factory
어제 기존 App에다 스코어보드가 필요해서 OPenFeint를 새로 붙이고 있었는데 Frameworks 까지 추가하고 나니 갑자기 저 에러가 나오기 시작했습니다. 설정문제인가 하는 생각에 이것저것 건드려봤지만 여전.. 구글링해봐도 제각각 다른 원인에 이유를 모르겠다는 글들만 잔뜩 보이고.. 

어디선가 한사람이 그건 에러가 아니다. 라고 적어놓았더군요. 그 이전에 나온 warning들 중에 이유가 있을것이라고.. 
제 경우는 Duplication File의 warning이 있었는데 이게 문제였습니다. 페이스북을 연결해놓은 앱에도  OPenFeint를 붙이며 다시 페이스북 코드가 들어가서 발생한 에러였네요. 

^^ 저 문제로 5시간정도? 고생했었는데 알고 보니 허탈하군요. 그래도 좋은 공부가 되었습니다. 

[앱스토어 아이폰/아이폰터치] 무료의 힘!

컴퓨터/내가 만든... | 2010.06.13 15:22 | Posted by 뉴스로 영어공부 My App Factory
















어제부터 이틀간(오늘까지) 무료 행사중인 터치! 브레인!의 성적입니다. 


새버전 코딩하느라 밤새고 좀 전에 일어나 확인해본 순위입니다. 아침 7시경 잠들기 전에는 Romania에서만 100위권 안에 들어왔었는데 현재시간에는 꽤 많은 국가에서 순위권에 들었네요. 
유료에서 이정도 순위라면 꽤 괜찮은 수익을 거둘수 있을텐데.. 무료 행사에서 순위올라가는것 보면 잠시 꿈이라도 꾸는 기분이네요. ^^

[App Store관련] ITunes Connect 변경사항

컴퓨터/App Store | 2010.05.19 02:13 | Posted by 뉴스로 영어공부 My App Factory

어플 업데이트시에 수정할수 있는 사항이 몇가지 없습니다. 검색키워드와 이번 버젼의 변경점.. 정도밖에 없는 것 같군요. 제일 귀찮았던 부분은 스크린샷이 이전 버젼과 공유되는 바람에 새 버젼 등록하면서 스크린샷도 같이 올렸더니 현재 판매중인 버젼의 스크린샷이 같이 변해버려서 큰일이였다는 분의 글을 본 적이 있습니다. (항의 메일을 몇통 받으셨다네요. 구입했더니 왜 기능이 부족하냐고.. 직접 피드백도 받아보고 어떤 의미로는 부럽네요. ㅠ.ㅠ)

개발자로써는 업데이트된 변경점을 선전하고 그로 인해 판매량이 좀 늘었으면 하는 맘일텐데 정작 새 어플이 판매가 되고 나서야 스크린샷에 보여줄수가 있으니 꽤 답답했던 부분이였습니다. 

이번에 새 버젼을 올리면서 보니 이런 부분에 대해 수정이 되었나봅니다. 업데이트 버젼과 이전 버젼이 각각 스크린샷을 보유하게 변경되었네요. 

아쉬운 점은 어플 설명은 여전히 공유되어서.. 수정할때 조심해야 할것 같습니다. 

[종료][App Store-IPhone/IPod Touch] Touch!Brain! 업데이트 Version 1.2

컴퓨터/내가 만든... | 2010.05.09 23:10 | Posted by 뉴스로 영어공부 My App Factory

Touch Brain


백칸수학 어플 터치!브레인!이 버젼 1.2로 업데이트되었습니다. 가장 신경쓰였던 부분이였던 과거 트레이닝 기록표시에 대한 수정이 이루어졌습니다. 메인 메뉴의 "History"버튼에서 달력 형식으로 과거 훈련 기록을 볼 수 있고, 또 좌측 상단에 "Graph"버튼을 통해 이전 훈련기록을 그래프로 볼수 있도록 하였습니다. 


 그래프에 표시되는 기록은 두가지 타입으로 그날그날의 정답율과 하루동안 훈련한 총 문제수가 번갈아가며 표시됩니다. 


소개글을 보시고 사용해보고 싶으신 분은 비밀댓글로 이메일주소를 남겨주시기 바랍니다. 10분까지 무료 리딤코드를 보내드리겠습니다. 


Touch Brain

두번째 어플이 런칭되었습니다. 
터치 브레인은 백칸수학을 아이폰에서 간단하게 할수 있도록 만들었습니다. 

백칸수학에 대해 간단하게 소개해 드리면, 인간의 뇌가 가장 활성화될때는 아주 어려운 문제를 풀때가 아니라 간단한, 단순한 문제를 빠르게 반복하여 풀어나갈때라고 합니다. 한자리수의 덧셈, 뺄셈같은 쉬운 문제를 최대한 빨리 풀어나갈때 좌뇌와 우뇌가 모두 활발하게 활동한다는 사실로 부터 생겨난 두뇌단련법의 한가지입니다. 아동들의 경우, 공부에 대한 집중력과 자신감을 키워주는 방법으로 공부법으로도 활용되고 있습니다. 

발상자체가 단순하기때문에 어플도 아직은 별다른 기능은 없습니다. 단지 연습장에 연이은 문제들을 풀어나가듯 게임을 진행해 나가는 기능만 있습니다.  앞으로 매일매일 트레이닝한 결과를 좀 더 디테일하게 보여주거나, 벽지같은 기능을 추가해나갈 생각입니다. 


마찬가지로 리딤코드를 원하시는 분은 비밀댓글로 (내용에) 이메일 주소를 남겨주시면 보내드리겠습니다. 

이제야 제 첫번째 어플이 App Store에 등록되었습니다. 솔직히 공개하는것이 부끄러울 따름입니다만 조언이라도 얻을겸 리딤코드를 배포하고자 합니다. 

간략하게 게임소개를 드리면, 어지러히 책장에 꼽혀있는 책을 순서대로 정리하는 게임입니다. 

게임방법은 첫번째 클릭으로 이동할 책을 선택합니다. 두번째 이동할 위치를 클릭하면 그 자리에 선택되었던 책을 이동합니다. 이 순서를 반복하여 책이 순번대로 - (1,2,3,4,5)와 같이 작은 번호의 책이 왼쪽에서부터 순서대로 책을 정리하면 게임이 끝나게 됩니다. 

Vampire`s Library


일단 App Store에 등록부터 해보자는 생각에 급하게 만든 많이 부족한 게임입니다. 보잘것 없는 게임입니다만 리딤코드를 원하시는 분은 비밀댓글로 (메시지내용에)이메일주소를 남겨주시면 리딤코드를 보내드리겠습니다. 

*Apple US계정이 필요합니다. 한국으로는 아직 등록중입니다. (등록 완료되면 다시 글 올리겠습니다.) 

[App Store] 첫번째 어플 - Ready for Sale

컴퓨터/App Store | 2010.04.14 15:54 | Posted by 뉴스로 영어공부 My App Factory
드디어 첫번째 어플이 Review에 통과하여 판매에 들어간다는 매일이 오늘 새벽에 도착했습니다. 바로 판매가 시작될줄 알았는데 Contracts, Tax, Banking 정보가 설정되어 있지 않아 아직은 대기상태입니다. - 앱스토어 등록의 마지막 고비라고 불리는 과금정보 입력이 남아 있었네요. 겨우겨우 사전찾아가며 정보를 입력했는데 다른 개발자 분들의 말을 들어보니 이게 통과되는데 또 대략 일주일 정도가 걸린다고 합니다. 첫번째 어플 개발이 끝난것이 3월 말인데 벌써 4월 중순이군요. 앱스토어에 출품하는 개발자들이 한둘이 아니니 당연하다면 당연한 일이지만 한스탭, 한스탭에 일이주씩은 후딱 가버리는것, 피드백이 너무 느린 부분이 가장 힘겹게 하지 않았나 생각됩니다.



제가 개발한 어플이 등록되기 까지 총 세번의 리젝을 당했습니다. 

UIRequiredDeviceCapabilities Key 설정이 잘못되어 인스톨이 안된다고 하길레 사용하지 않는 키를 False로 바꾸고 올렸더니 다시 리젝, 키 설정을 다시 고쳐서 올렸더니 또 한번 리젝, 아마도 사용되지 않는 UIRequiredDeviceCapabilities Key를 info.plist에 남겨두어서는 안되는 모양이였던것도 같습니다. 그래서 OpenGL ES 1.0에 관한 키 이외에는 모두 삭제하고 다시 올릴까 생각했지만, 같은 이유로 리젝되면 또 일주일이 후딱 가버리는 것이 두렵더군요. 결국 UIRequiredDeviceCapabilities Key 자체가 디폴트로 있어야 하는 키도 아니니 문제가 될 바에야 삭제하는것이 낫겠다 싶어, 아예 지워버렸습니다.

cocos2d 0.99 rc 버젼을 개발에 사용하였는데, 이 버젼의 템플릿에는 아이폰에서 이용할수 있는 모든 디바이스에 대한 UIRequiredDeviceCapabilities Key가 선언되어 있습니다. 이게 다른 사람들도 문제가 되었던지, cocos2d사이트에 잇슈로 등록되어 있고 다음 버젼인 cocos2d 0.99.1에서는 OpenGL ES 1.0과 가속도 센스 이외에는 전부 삭제되었습니다. 두번째 등록한 어플에는  OpenGL ES 1.0을 남기고 가속도 설정을 삭제한 채로 올렸습니다만 아직 리젝 당하지는 않은것을 보니 실재 사용되는 기능에 대한 선언이 있는것은 문제가 없는것 같습니다. 신경쓰기 싫은 경우에는 아예 UIRequiredDeviceCapabilities Key 설정자체를 사용하지 않는것이 차라리 맘 편할듯 합니다.

참 어이없는게도 동일한 이유로 세번이나 리젝을 당하고 나니 정작 큰것은 오지도 않았다는 불안감에 아침에 눈을 뜨면 리젝메일부터 찾는 나날이였습니다. 디바이스 설정이외에는 딱히 문제가 없었는지 드디어 리뷰에 통과하고 보니.. 처음부터 저 문제만 잘 처리했으면 엄청난 시간단축을 했을텐데 하는 아쉬움과 몇번의 리젝덕에 오히려 뒤는 쉽게 통과된것 아닌가 하는 생각이 교차하는군요. 

이제 마지막 스탭이 남았습니다. 어서 하나의 끝이 왔으면 좋겠습니다. 그래야 부족한 어플이나마 주변에 소개도 하고 다음에 할일도 생각해볼텐데 말입니다. ^^

 

[objective C] NSDate로부터 int형의 년, 월, 일 추출하기

컴퓨터/cocos2d & objective C | 2010.04.12 01:02 | Posted by 뉴스로 영어공부 My App Factory
C#에 너무 익숙해서인지 자꾸 비슷한 걸 찾게 되는군요. C#의 Date형에는 멤버로 year, month, day 있어서 편하게 사용했었기에,  같은 방식으로 사용할수 있도록 만든 코드입니다.   

NSDate *today = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

NSLocale *locale               = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

[dateFormatter setLocale:locale];

[locale release];

// Get year

[dateFormatter setDateFormat:@"yyyy"];

int year = [[dateFormatter stringFromDate:today] intValue];

// Get Month

[dateFormatter setDateFormat:@"MM"];

int month = [[dateFormatter stringFromDate:today] intValue];

// Get Day

[dateFormatter setDateFormat:@"dd"];

int day = [[dateFormatter stringFromDate:today] intValue];

[dateFormatter release];





[objective C] New Line 개행문자

컴퓨터/cocos2d & objective C | 2010.04.08 03:03 | Posted by 뉴스로 영어공부 My App Factory


너무 간단한 것이지만 기존 언어들과 상이한 부분이라 기록합니다. 

C계열에서 공통으로 사용되는 개행문자는 "¥r¥n"입니다만,
Objective C에서는 "\n"입니다. 
(이제껏 기호 "¥" 와 "\"는 같은 것이라고 생각하며 살았습니다만 틀린 경우도 있다는 걸 처음 알게 되었군요... )



새로 생성한 프로젝트에서 주로 발생하는 것 같습니다. 제 경우는 처음 인스톨 할때는 매번 발생하는 군요. 
Active SDK를 Device로 선택하고 빌드할때 종종, 인스톨에 실패했다는 메시지를 출력할때가 있습니다. 정작 아이폰을 확인하면 어플은 제대로 설치가 되어 있구요. 디버깅을 시도할 경우 설치는 되지만 어플이 구동되지 않아 디버깅도 불가능합니다. 

AppID나 Profile에 이상이 없다면 XCode 자체적인 문제입니다. 해결방법은 간단, XCode를 재실행하면 되는군요.
죄없는(?) 개발자를 가끔 놀래키는 XCode입니다. 


[XCode Tip] IPhone Simulator 초기화 혹은 파일 삭제

컴퓨터/XCode | 2010.04.06 01:32 | Posted by 뉴스로 영어공부 My App Factory

개발 도중에 어플에서 필요한 파일을 생성해서 사용하다가 초기상태 - App이 처음 설치된 상태에서의 테스트를 하려고 보니 어디서 파일을 지워야 할지를 모르겠더군요. Finder에서 생성한 파일이름으로 검색해도 찾지를 못해서 하마트면 코드로 파일 삭제를 하는 귀찮은 짓을 할뻔했습니다. 

아래의 폴더에 시뮬레이터에서 사용되는 App의 파일들이 설치되어 있습니다. 일련번호로  폴더명이 생성되어 있지만 폴더안의 실행파일을 보면 어떤 프로젝트인지 아실수 있을겁니다.  NSDocumentDirectory에 파일을 만드셨다면 App폴더의 Documents내의 파일을 삭제하시면 됩니다. 


/Users/<username>/Library/Application Support/iPhone Simulator/User/Applications





첫번째 리젝 - UIRequiredDeviceCapabilities key 설정 관련

컴퓨터/App Store | 2010.04.01 23:43 | Posted by 뉴스로 영어공부 My App Factory


첫번째 어플을 등록하자마자 그 무섭다는 리젝을 빨리도 당했습니다.
3월 26일 첫번째 어플을 앱스토어에 업로드하고, 27일 in Review로 상태가 변경되었습니다. 여기까지 처리가 상당히 빨라 흡족한 마음으로 여행을 다녀왔더니 30일 다음과 같은 내용의 메일과 함께 reject되어 있더군요.

Hello Lim,

Thank you for submitting Vampire`s Library. We have reviewed your application and determined that it cannot be posted to the App Store because Vampire`s Library cannot be installed on a device.

Vampire`s Library's UIRequiredDeviceCapabilities key in the Info.plist is set in such a way that it will not install on a iPhone 3G, iPhone 3GS, or an iPod touch.

Please ensure that the application's UIRequiredDeviceCapabilities key configuration is correct. Attributes should only be placed in the UIRequiredDeviceCapabilities key if that attribute is either required for the function of the application or if it must not be present on the device. For additional information on specific keys, please review the dictionary keys tables found in the iPhone Application Programming Guide, under the "Device Support" section:

/developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iPhoneAppProgrammingGuide.pdf>

In order for your application to be reconsidered for the App Store, please resolve this issue and upload your new binary to iTunes Connect.

Should you require more assistance with resolving this issue, Apple Developer Technical Support is available to provide direct one-on-one support for discrete code-level questions. You may contact Apple Developer Technical Support directly at <idp-dts@apple.com>. Please be sure to include any crash logs, screenshots or steps to reproduce this issue in your request.

Sincerely,

iPhone App Review Team


인스톨 조차 되지 않는다는 굴욕(^^;)적인 내용이였습니다. UIRequiredDeviceCapabilities key 가 무언지 당쵀 본적도 없는 문구가 적혀있어 더 당황스럽더군요. 이전에 퍼온 배포용 절차에서 빼먹은 것은 없는지 다시 한번 찬찬히 살펴보았지만 특별히 놓친 부분은 없는 듯 했습니다.

2010/03/09 - [프로그래밍 관련/cocos2d & objective C] - App Store 등록절차 - 펌

애플에서 리젝할 경우, 수정방법까지 친절히 알려주는 편이라길레, 다시 메일내용을 잘 읽어보니 Info.plist 를 수정하라고 되어있더군요. Info.plist파일로 가보니 젤 마지막부분에 UIRequiredDeviceCapabilities key 에 대한 설정이 확실히 있었습니다. 가속도센서나 전화, 메일등등 디바이스 환경사용에 관한 설정을 하는 부분인데 이부분에 사용하지 않는 디바이스를 요구하거나 반대로 사용하는 디바이스가 선택되어 있지않으면 지적사항이 되는것 같습니다 

디폴트로 선택되어 있는 것이 가속도 센스와 OpenGL ES 1.1 두가지인데, 제 경우, cocos2d를 사용하니 OpenGL설정은 그대로 괜찮지만 가속도센스가 사용하지도 않는데 체크가 되어 있어 발생한 문제였습니다.

결국, 문제가 된 부분을 수정하여 당일로 다시 업로드를 하였습니다. 조그만 문제였는데도 전체적으로 약 5일정도 늦어지는 결과가 되어버렸습니다. 시간상의 로스가 발생하는 것도 무섭지만 문제가 서너가지 있을 경우, 한번에 모두 알려주지 않고 하나하나 지적해서 매번 일주일에서 이주일의 텀이 발생되는 점이 무섭다고 하던데, 저는 아예 테스트에 들어가지도 못하고 리젝당했으니 정작 앞으로 무슨 문제가 나올지 모른다는 생각에 더 두려워 지는군요.  애초에 좀더 꼼꼼히 따져보고 확인하여 애플로 보내는 것이 나중에 발생할 불필요한 시간들을 줄이는 최선의 방법일듯 합니다.

혹, 또 무슨 실수가 있는건 아닌지... 첫어플이 제대로 등록되어야 한 시름 놓을 듯합니다.

4월2일 추가 - 
제목을 연속 두번 리젝으로 고쳐야 하는건 아닌지 모르겠습니다. 자고 일어나니 다시 리젝 당했다는 메일이 와있었습니다. 첫번째 실수가 배포용은 디바이스에서 돌려볼수가 없으니 아예 테스트도 해보지 않고 그냥 올렸는데 시뮬레이터에서 동작확인을 했어야 했군요. 개발중엔 계속 3.1.3으로 테스트하다 잘 돌아간다고 2.2.1로 빌드해서 올린 바보같은 짓을 했습니다. cocos2d 0.99는 IPhone OS 3.0부터 제대로 동작합니다. 이게 디바이스로 선택하고 빌드시에는 아무런 에러를 발생시키지 않는군요. 반드시 시뮬레이터에서 실행을 시켜봐야 제대로 에러를 발생시킵니다.  

이번엔 무사히 리뷰에 들어갔으면 좋겠네요. 


코딩시 많이 사용하게 되는 문자열 변환시, 표시형식지정자가 일반적인 C에서의 문법과 조금 틀리고, 특히나 Apple에서 제공되는 objective C 레퍼런스에 관련된 내용이 없기 때문에 혹, 저와 같은 곤란을 겪으시는 분이 있으시면 참고가 되시길 바라며 간략히 남겨 둡니다. 

일반적으로 숫자를 문자열로 변환할 경우 int형을 예로 들면 치완자로 "%d"가 사용됩니다. 여기까지는 대부분의 언어에서 공통입니다만 표시될 문자수를 지정하여 - 예를 들면 1,2,3,4를 01, 02, 03, 04와 같이 표시하고 싶을 경우, 언어에 따라 "%2d", "%dd", "%d2"등으로 조금씩 다릅니다. 대부분의 C기반의 언어가 저 셋중 하나를 사용하기 때문에 몇번 바꿔가며 넣어보면 원하는 데로 출력이 됩니다만, objective C의 경우는 "%02d"와 같이 표기하여야 합니다. 

코드예:

        [NSString stringWithFormat:@"%02d:%02d:%02d", 변수1, 변수2, 변수3]








cocos2d 사운드 출력 코드

컴퓨터/cocos2d & objective C | 2010.03.15 16:46 | Posted by 뉴스로 영어공부 My App Factory

cocos2d에서의 사운드 출력방법입니다. 

개발중인 게임에 효과음이 필요하여 관련소스를 검색해 보니 OpenAL에 대한 자료가 많이 나오더군요. 
OpenAL은 오픈API인 3D Sound Library이며 Loki Software라는 곳에서 개발하였으나 현재, 이회사는 없어지고 Creative와 Apple이 관리하고 있다고 합니다. Apple이 관리하는 오픈소스이기때문인지  XCode설치시 IPhone용 라이브러리에 OpenAL이 포함되어 있음으로 따로 찾으실 필요는 없습니다.  




OpenAL을 직접 이용하셔도 괜찮지만, cocos2d에서는 더 간단하게 사용할수 있도록 CocosDenshin이라는 이름의framework가 준비되어 있습니다. 특별한 효과가 필요없이 단순 재생만 할 경우, 아래의 코드만으로 간단히 구현할수 있습니다. 


//"cocos2d.h"에 import되어 있지 않음으로 별도의 import 선언이 필요합니다. 

#import "SimpleAudioEngine.h"


//효과음 재생

[[SimpleAudioEngine sharedEngine] playEffect:@"effect1.m4a"];

//배경음악재생

[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"backgroundMusic.m4a"];

//배경음악재생 중지

[[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];




포맷은 기본적으로 "wav", "mp3"을 지원하는 이외에 "m4a"를 지원하고 있습니다. 아이폰에 기본 설치된 음성메모App에서 녹음할 경우, m4a로 파일이 생성됩니다. 필요한 효과음을 직접 음성메모로 녹음한 후, 이를 메일첨부를 이용하여 PC로 전송하여 바로 이용하니 대단히 편리하였습니다. (효과음 구현으로 일정에서 하루를 잡았었는데 허무할 정도로 빨리 끝나버렸습니다. - 덕분에 잠깐 블로그질을.. ^^;)


아이폰 프로그래밍 - cocos2d 설치 및 템플릿 추가하기

컴퓨터/cocos2d & objective C | 2010.02.02 09:00 | Posted by 뉴스로 영어공부 My App Factory


OpenGL을 사용해 본 경험이 없는 나이기에 (그래픽스  API 사용경험 전무, 게임관련 경험도 전무..) 아무래도 OPenGL을 직접 사용하기 보다는 
cocos2d를 먼저 사용해 보기로 하였다. 


이전에 잠깐 cocos2d에 대해 찾아보았을때는 직접 템플릿을 만들어 추가해 주어야 XCode에서 템플릿으로 이용할 수 있는듯 하더니, 최근 버젼(0.99rc)에는 템플릿까지 포함하여 배포하는 것 같다. 


cocos2d는 다음 사이트에서 받을 수 있다. 





cocos2d는 OpenGL ES 1.1 을 지원하는 
오픈소스 프로젝트로 
2d그래픽 프레임워크이다.








다운로드 받은 후 압축을 해제하면 API라이브러리와 예제 파일, 그리고 템플릿 관련 파일들을 볼수 있다. 이제 설치를 위해  터미널을 실행하자. 


터미널은 응용프로그램 -> 유틸리티에서 찾을 수 있다. 


터미널을 실행한 후, cocos2d를 압축한 폴더에서 install_template.sh란 이름의 파일을 드랙하여 터미널에 넣어주자. 이후 자동으로 cocos2d 템플릿 설치를 시작한다. 



설치가 끝난 후, XCode에서 New Project를 선택해 보면 다음과 같이 템플릿이 추가된 것을 볼 수 있다.