2014/03 19

무시하지 말자 ld: warning: directory not found for option

AppStore에 버전업 해서 올렸던 앱이 갑자기 크래쉬가 된다는 보고를 주위에서 받았다. 일단 뭐 한 두 명이겠거니 하고 무시하고 있었는다. 그리고 Xcode에서 디바이스를 직접 연결해서 Build를 하니 문제 없이 돌아간다. 다행이다라고 생각하고 혹시나 하는 마음에 AppStore에서 다운 받아보니 크래쉬... 검수 된게 이상하다. 빌드한 파일을 TestFlight에 올려서 다운 받아 보니 크래쉬... 이때 부터 맨붕이다. 수정한것이 난이도 수정 밖에 없어서 크게 문제 될 것이 없었다. 혹시나 하는 마음에 빌드 할 때 Warning ld: warning: directory not found for option 이 있는게 걸려서 검색해보니 프로젝트 디렉토리를 옮기면서 TARGETS > Build Set..

iDev 2014.03.26

cocos2d v3에서 Implicit declaration of function 'ccDrawColor4B' is invalid in C99 해결 방법

2012년 6월 8일 cocos2d에서 implicit declaration of ‘glColor4ub’ is invalid in c99 해결방법 글로 블로깅을 한적이 있다. 저 때는 v1->v2로 변경을 하는 과정에서 생긴 이슈 였는데, v2->v3로 갈려니 또 비슷한 에러가 발생한다. Implicit declaration of function 'ccDrawColor4B' is invalid in C99 에러가 뜬다. 간단하게 CCDrawingPrimitives.h 헤더파일만 임포트 하면 해결된다. 삽질 30분 해결 완료. #import "CCDrawingPrimitives.h" - (void) draw{ glLineWidth(maxSize.height); ccDrawColor4B(255, 255, 2..

iDev/Cocos2D 2014.03.24

cocos2d Apportable 사용하기 (손)연재 예정

이것 저것 삽질 하면서 알아낸 AdMob, Google Play Game Service, Leader Board, Flurry, Backbutton 구현 방법을 하나씩 연재 해볼까 합니다. $1000/년 할 때는 생각도 못 했는데, 어제 $99/월 로 바뀌어서 한 달 결제 하고 이것 저것 삽질을 해봤습니다. 도움이 되시면 나중에 밥 한끼, 게임이 대박 나면 맛난거 사주세요. :-) 긴급하게 정보를 얻고 싶으면 더 맛난 것으로... 사실 어려운것은 하나도 없는데 구글링해도 잘 안나오는 정보라서 몇 시간씩 삽질을 해서 알아냈습니다.

iDev/Cocos2D 2014.03.22

GameController 사용시 화면 꺼짐 모드 방지

일반적인 스마트폰 게임은 화면을 터치 하는 방식이라 idle 모드가 활성화 되지 않습니다. 그러나 iOS 7 GameController를 사용하다 보면 화면의 터치를 하는 경우가 줄어들어서 화면이 idle 모드로 진입해서 어두워지고 결국에는 꺼집니다. 블루 투스 콘트롤러가 나오면 이런것을 애플에서 직접 프레임 워크 내부에 넣을 것 같기도 합니다. 하지만 아직 적용이 안되어 있으니 아래와 같이 직접 구현해야합니다. - (void)gameControllerDidConnect:(NSNotification *)notification { GCController *controller = notification.object; // NSLog(@"Connected game controller: %@", controll..

iDev/Cocos2D 2014.03.22

Android Wear 용 한글 시계를 만들었습니다.

오늘 개발자들에게 Android Wear 개발자 프리뷰가 공개되었습니다. 간단하게 AVD와 애뮬레이터 앱을 통해서 앱을 만들 수 있습니다. 심심풀이로 예전에 만들어 놓았던 한글 시계를 Android Wear 용으로 만들어 보았습니다. 2012년 한글 시계 for iOS2013년 한글 시계 for Pebble 애뮬레이터에서 한글이 제대로 보이지 않아서 또 Pebble 처럼 이미지로 처리하고, 시/분에 따라서 그냥 투명도를 주게 만들었습니다. 딱히 노티피케이션을 해주는것이 아니라 그냥 Kikkat 용으로 만들고 빌드를 하면 잘 작동합니다. 처음에는 VISIBLE/INVISIBLE 로 처리 했다가, setAlpha로 그냥 알파값만 처리 했습니다. 안드로이드 개발은 모르는지라 아주 간당한 방법으로만 구현했습니다..

iDev/Android Dev 2014.03.19

cocos2d v3 RC3, Apportable 안드로이드 Back Button 구현하기

안드로이드는 보통 프로세스를 종료하기 위해서 백 버튼을 사용합니다. Apportable으로 안드로이드 포팅시 기본적으로 백 버튼은 아무런 반응도 하지 않습니다. 아래 링크를 참조해서 구현 할려니 뭔가 제대로 되지 않습니다. 다들 v3 미만의 버전의 가이드 인것 같습니다. http://docs.apportable.com/uikit-extensions.html#uiresponder구글링을 해보니 저와 비슷한 내용들이 많습니다.https://groups.google.com/forum/#!topic/apportable-discuss/992hX9vEdTwhttps://groups.google.com/forum/#!topic/apportable-discuss/V9lMn188jqE 그나마 힌트를 얻은게 ViewCon..

iDev/Cocos2D 2014.03.19

iOS 버전 호환 간단 버전

참조 http://lab.smoon.kr/75http://www.raywenderlich.com/42591/supporting-multiple-ios-versions-and-devices iOS 7용 프레임워크를 사용하고 있는데 하위 OS인 iOS 6도 지원하려고 빌드를 하고 실행을 하니 image가 없다는 메세지와 함께 크래쉬가 된다. 뭔가 코드 상으로는 분기가 되도록 구현을 했는데 무조건 iOS 6상에서 iOS 7의 프레임워크를 불러 올려다 보니 이런 메세지와 함께 앱이 구동이 안된다. 혹시나 하고 트위터에 올렸더니 많은 컴맹 개발자 분들께서 링크와 도움을 주셨다. 감사합니다. 해결 방법은 아래 그림 처럼 Target > Build Phases > Link Binary With Libraries에서 ..

iDev/iOS Dev 2014.03.16

cocos2d mac에서 현재 윈도우 화면 캡쳐하기

현재 윈도우 화면을 타이틀 바, 그림자 포함해서 화면 캡쳐하는 방법. TinyPigMacAppDelegate *delegate = (TinyPigMacAppDelegate *)[NSApplication sharedApplication].delegate; CGWindowID windowID = (CGWindowID)[[delegate window] windowNumber]; CGWindowImageOption imageOptions = kCGWindowImageDefault; CGWindowListOption singleWindowListOptions = kCGWindowListOptionIncludingWindow; CGRect imageBounds = CGRectNull; CGImageRef windo..

iDev/Cocos2D 2014.03.15