2010년 7월 31일 토요일

[펌] iPhone App 개발 후 앱스토어를 거치지 않고 본인의 iPhone으로 배포가 가능한가요?

순정 아이폰에 개발자용(AdHoc 용)으로 앱스토어를 통하지 않고 배포는 가능하나
배포에 기간제한이 걸린다고 함.

자체인증서를 사용하는(개발자등록없이 개발하는) 경우에도 이게 되면 좋으련만..
음...


http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=104&docId=106139000&qb=7JWE7J207Y+wIOyVseyKpO2GoOyWtCDrsLDtj6w=&enc=utf8&section=kin&rank=1&sort=0&spq=0&pid=gadiWB331xRsssrmpZNssv--496538&sid=TFQYrFLnU0wAAH3icG0

[문화] 2NE1의 씨엘.

빅뱅이 현 예능계에서 대단한 아이들이라고 인정을 받고 있고.. 거기엔 어느정도 동의한다..

근데..

2NE1의 씨엘이 훨씬 더 많은 에너지와 재능으로 똘똘 뭉친것으로 느껴진다.

빅뱅은...음 뭐랄까 일종의 백화점 느낌이 강한데.. 2NE1은 에너지와 흥이 느껴진다.

특히 씨엘... 얘는 정말 대단하다..

뮤직비디오에서의 에너지는 더욱 놀랍다.

2010년 7월 30일 금요일

XCODE 개발자 라이센스 없이 아이팟 어플 (ipa) 만들기

일단 여기 참고하고..

http://story.tistory.com/242

-->근데 여기서 하란대로 하면 안되는 경우 있음. Xcode의 info.plist에서 패턴매칭으로 다 바꾸라고 되어 있지만, 맨 위부터 2개만 바꿔줘야 함. 다 바꾸면 Xcode 실행시키면 돌아가심.

아래 참고하면..

http://blog.naver.com/baek2187?Redirect=Log&logNo=150067093058


할 수 있음..


XCode 3.2.x 에서 구동됨.


@ipa를 설치한다 해도 해킹된 아이팟에서만 구동가능함을 참고할것.

2010년 7월 12일 월요일

gcc 컴파일중 "no new line at the end of file" 메시지 나올때...

윈도우에서 개발한 소스를 리눅스에서 컴파일할때 자주 나타나는warning인데..

c의 문법상 파일의 끝에는 반드시 개행문자가 하나 붙어줘야함. 근데 윈도우에서 개발하면이 개발툴들이 자동으로끝 라인을 날려먹어버림.

그래서리 이 코드를 gcc로 컴파일하려면 요딴워닝이 뜸.

Visual Studio나 Xcode같은 경우 특정 warning을 없애버리는 기능을 통해 안보이게 할 수 있는데 gcc에서는 불가능 함.

구글뒤져보면 C문법이 그런거니까 당연한 거다. 모든 파일끝에 엔터 한방씩 먹여라! 라는 답변만 수두룩함.
문제는 윈도우 쪽 에디터에서 작업하면 도루묵이 되는 경우가 많다는 거...

다행히 용자 하나가 나타나 gcc를 패치해서 막아버리도록 하긴 했는데... 이게 패치하려면 소스 있어야 하고 다시 컴팔하고 해야하니 무쟈게 귀찮고 오히려 엔터먹이는것보다 시간을더 먹을수도 있음.



결론: 참고 살던가 모든 파일끝에한줄 넣던가... 그냥 코드하나 짜서 모든 소스파일 끝에 개행넣어주는 프로그램 짜던가...
암튼 gcc 옵션에는 그런 기능 엄뜸.



References

  • http://crossgcc.rts-software.org/doku.php?id=mingwformac
  • http://www.tomatowax.com/ZeroboardXE/Home_HamRadio_Programming/5051
  • http://stackoverflow.com/questions/282851/what-flag-silences-gccs-warning-about-no-new-line-at-file-endings

2010년 7월 10일 토요일

아이폰 OS 기반으로 오디오 프로그래밍할때...

최근 3.0 버전 넘어서면서부터 AVFoundation이 제공되어 좀더 편하게 오디오 디바이스를 핸들링할 수 있게 되어 있긴 하나....

생긴 데이터를 보낼수 있는 방법이 URL(파일 또는 HTTP live streaming(?)으로)로 뿜는 방법 이외에는 제공하지 않음.

그래서 할수 없이... 파일저장용이 아닌 실시간 전송용으로는 AVFoundation같은 High Level API는쓸 수 없고 Low Level API를 써야하는데 이게 제법 귀찮은것 같으며, 정보도 많이 없음.

비록 맥OS, 아이폰 OS가 BSD계열이긴 하나 /dev/밑에 device에 직접 access 할 수 없음.
즉, 리눅스의 사운드 드라이버인 alsa, oss로 사용할 수없다는 말.

결국 오디오 데이터를 raw하게 손을 대고 싶으면... low level api를 써야함.

Low Level API로는

AudioToolBox, CoreAudio 등이 있음.

아마 AudioToolBox의 Audio Queue Services 기능을 이용해야 할 것 같긴한데... 좀더 들여다봐야 할 듯..(요기 정리가 잘 되어 있는것 같음)



아이폰 어플은 접해보면 접해볼수록 잘 만든것 같긴한데 자유도는 꽝이고 애플의 횡포에 적응해야 하는것 같음.


References
[1] http://sites.google.com/site/iphonecoreaudiodevelopment/
[2] http://developer.apple.com/iphone/library/documentation/musicaudio/Conceptual/CoreAudioOverview/WhatisCoreAudio/WhatisCoreAudio.html#//apple_ref/doc/uid/TP40003577-CH3-SW1
[3] http://iiixzu.tistory.com/17
http://developer.apple.com/iphone/library/DOCUMENTATION/MusicAudio/Reference/AudioQueueReference/Reference/reference.html#//apple_ref/doc/uid/TP40005117

2010년 7월 9일 금요일

TCP socket을 통한 파일전송에서 속도 안나오고 CPU 점유율 높아질때...

매우 단순한 원인이긴 했지만....

윈도우7에서...

한쪽에서 fread로 파일을 읽어 tcp socket으로 send하고...
다른쪽에서 tcp socket read하고 fwrite하는 매우 단순한 프로그램...

근데 이놈만 돌리면 CPU load 쫙쫙 올라가고 로컬에서 카피하는데도 20kbps나 나오나 그런다...

원인은 fread할때 한 바이트씩 읽어서 보내고 받아서 저장했기때문...
그래서 512byte나 1024byte씩 읽어서 보냈더니 성능 짱짱하게 나와줌.

근데 신기한건....
한바이트씩 읽어서 던지게 만든 코드를 리눅스에서 돌렸을땐 짱짱하게 잘 돌아줬다는 사실..


평소 개발습관이 리눅스에서 간단히 돌려보고 윈도그로 포팅하는 편인데...
이런 차이가 생겨주시니... 후덜덜하군..

암튼...덕분에 하루 날려먹었음. 할꺼 많은데..