본문 바로가기

카테고리

(1762)
[iOS프로그래밍] NSRunLoop로 잠시 Timer걸기 [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05]]; 위의 NSData dateWithTimeIntervalSinceNow:"원하는 시간" 동안 텀을 준 이후 다음 명령을 실행. 왠만하면 selector를 통해 메서드들의 Flow가 순차적으로 진행 되도록 해야 하지만, 피치 못하는 경우에는 위와 같은 방법으로 사용'-'
iOS Universal 프로그래밍. 모델 구별하기 iOS 유니버셜(패드, 폰)으로 구별해서 프로그래밍을 하는 경우에는 One Source로 구현하는 경우가 많습니다(굳이 UI 가 크게 다르지 않다면, 다르더라도 기능은 거의 비슷하므로) 이 때 따로 클래스를 하나 두고 모델타입을 리턴해주는 방식으로 구현하면 굉장히 편리합니다. 물론 UI .. Idom 으로 Pad등을 구별하는 방법도 있긴하지만, 맥으로의 포팅이나 이래저래 봤을 때 효율적이진 않아 보입니다. 클래스를 하나 만든 뒤 + (BOOL)isIpad { if ([self getModelType] == MODEL_IPAD) { return YES; } else { return NO; } } + (MODEL_TYPE)getModelType { if ([[[UIDevice currentDevice] mo..
2012 IT 인프라 10대 트렌드 가트너에서 지난 주 향후 4~5년간 기업 및 정부의 데이터센터 및 IT에 영향을 끼칠 10가지 주요 신흥 트렌드 목록을 공개했습니다. 다음은 가트너의 연구책임자인 카푸치오가 기조 연설중 발표했으며, 직원들의 모바일기기 및 클라우드 등이 업무 지원센터 운영에 영향을 끼치면서 상당한 여파가 예상된다고 설명했습니다. 1. 소비재화 및 태블릿 기업에서 아이패드, 안드로이드 태블릿 등 기타 모바일 기기 사용의 확산은 전통적인 컴퓨터를 완전히 대체할 것으로는 보이지 않으며, 태블릿 트렌드는 "구체적인 작업을 위한 좀 더 구체적인 어플리케이션"을 가져오게 될 것이라며, 이 떄문에 "단일화된 애플리케이션 스위트의 시대"가 종말을 고할 것이라고 전망했습니다. 모바일 디바이스를 사용하는 기업은 태블릿과 스마트폰에 관리되지..
[Gitflow] release 와 release 삭제 해당 git repository 에서 git flow init ( 릴리즈를 할 폴더를 정함 ) - git flow release start (버전명) - git flow release publish (버전명) 을 통해 릴리즈를 하며 릴리즈 삭제를 하고 싶다면, git push origin :(버전명) 혹은 :(폴더)/(버전명)위 명령어는 로컬과 같이 저장소를 바꿔라인데, 로컬에는 릴리즈가 없기 때문에 삭제가 됨.
MAC App용 이미지 파일 변경앱 'img2icns' MAC App 의 icon 파일은 iOS처럼 png 등 이미지 파일로는 불가능합니다. 확장자가 icns라는 파일이 필요한데, 포토샵에 아이콘빌더 등을 통해 만들수도 있지만, 굳이 어려운방법보다 너무나 간단하게 이미지를 icns파일로 변경을 시켜주는 앱이 있어 소개합니다. http://www.img2icnsapp.com/위 사이트에서 Download 무료버전으로도 충분히 실사용하는데 문제 없이 잘되네요~!
MAC App sandboxing 하기 맥앱스토어가 더이상 샌드박스를 적용하지 않는 앱의 경우에는 허용하지 않겠다는 발표아래 샌드박싱을 하는 방법을 퍼와 포스팅합니다. https://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxQuickStart/AppSandboxQuickStart.html#//apple_ref/doc/uid/TP40011183-CH2-SW3 에서 퍼왔으며 생각보다 간단하니 천천히 따라하시면 될 듯 합니다. (맥 Developer 인증서가 없이 자체 인증서 생성으로 테스팅이 가능합니다. Sandbox가 적용되어 있는 iOS앱처럼 (숨겨져있는) 라이브러리에 앱 폴더가 정상적으로 만들어지네요)* 애..
iOS앱을 MAC App으로 Porting하기 iOS 와 Cocoa는 유사하지만 생각보다 다른 점이 많다. iOS는 UIKit 을, 맥은 AppKit을. 그리고 iOS는 Touch를 (- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event), 맥은 Mouse를 - 여기서 좀 더 설명하자면 위의 ccTouch 대신 ccMouse를 사용하기에 바꾸어주어야 한다. ccMouseDown, Up, RightMoved 등등 그런 후에 원소스든 아니든 간에 클래스 init 시에 self.MouseEnabled를 꼭 Yes로 해주어야 마우스가 사용가능하다. 맥에서는 Touch 는 트랙패드를 의미한다. iOS는 UI, 맥은 NS를 - 대부분의 프레임워크들의 이름들은 UI를 NS로 바꾸면 작동하지만, 모..
child already added. It can't be added again COCOS2D CCNode에러 COCOS2D 의 CCnode에서 발생하는 에러로 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'child already added. It can't be added again' 위와 같은 에러메세지를 출력하는 경우, Child가 중첩되어 Add 를 하거나 Child의 Parent가 존재하지 않는데 추가를 하려고 시도하는 경우 발생한다. -(void) addChild: (CCNode*) child z:(NSInteger)z tag:(NSInteger) aTag { if (nil==child) { CCLOG(@"%@ : have nil child. not adding.",self.class); re..