본문 바로가기

Programming/iOS40

Lion에서 Python PIL 사용하기 예전 파이션을 이용한 아이폰4용 이미지 컨버팅 스크립트를 사용하는 PIL라이브러리를 사용 했습니다. 그런데 Lion으로 버전이 올라가면서 PIL 설치가 잘 안 되서.. 이래저래 찾아 봐서 해결 했습니다. 그리고 그 내용을 정리 합니다. 먼저 v8c of jpeg 를 받아서 컴파일을 해 줍니다. 혹시 안 받아 질 경우에는 제일 마지막에 업로드 해 놨으니.. 그 파일을 받으세요. 컴파일은 아래와 같이 진행 하시면 됩니다. sudo make clean CC="gcc -arch i386" ./configure --enable-shared --enable-static make sudo make install 컴파일 완료 후 PIL을 설치해 줍니다. sudo easy_install pip sudo ARCHFLAGS.. 2011. 8. 29.
iOS 캡쳐 자동화 하기 아이폰 시뮬레이터 캡쳐 받기 - iOS-Simulator Cropper 포스팅에서 마지막에 스크립트로 자동화 하기가 있었습니다. 사이트에서는 그냥.. 캡쳐만 대체해 주면 잘 된다고 했는데 -_-; 잘 되질 않더군요. 코드도 손 볼 부분도 좀 있고 해서.. 나름대로 수정을 했습니다. 먼저 자동화 된 캡쳐를 받기 위해서는 소스코드에 NSLog를 등록 합니다. 형식은 3가지를 지원 합니다. 그냥.. 일반적인 캡쳐 NSLog(@"screenshot mainmenu.png"); 앞 쪽과 뒤쪽은 숫자는 자동으로 증가 합니다. NSLog(@"screenshot -once mainmenu.png"); -once를 넣어 주시면 딱 한번 만 캡쳐를 받아 줍니다. NSLog(@"screenshot -delay 4.0 mai.. 2011. 8. 26.
아이폰 시뮬레이터 캡쳐 받기 - iOS-Simulator Cropper 간간히 블로그에 글을 쓰거나 앱을 올릴때 캡쳐를 받아야 하는데.. 이런걸 쉽게 해 주는 어플리케이션이 있어서 포스팅을 해 봅니다. 이 어플을 사용하면 아이폰과 아이패드 시뮬레이터의 사진을 종류별로 받을 수가 있습니다. 거기다, 내용물만 쓰고 테두리는 iPhone 3 모양으로도 출력을 해 줍니다. 홈페이지 바로가기 http://www.curioustimes.de/iphonesimulatorcropper/index.html 그리고 터미널 모드도 지원해서 자동화 해서 캡쳐도 가능 합니다. 파이썬을 이용해서, NSLog로 나오는 메시지를 봐서 캡쳐를 받는 형식으로 자동으로 캡쳐 형식입니다. 순간적으로 나오는 화면이나 동작 중간이라서 캡쳐 받기 곤란한 화면이 있을 경우에는 이걸 이용하면 정말 좋겠네요. 방법은 아.. 2011. 8. 26.
UILabel 글씨에 테두리선 그리기. UILabel의 글씨에 테두리선 그리기 입니다. UIOutlineLabel.h #import @interface UIOutlineLabel : UILabel { UIColor *outlineColor; CGFloat outlineDeep; } @property (nonatomic, retain) UIColor *outlineColor; @property (nonatomic) CGFloat outlineDeep; @end UIOutlineLabel.m #import "UIOutlineLabel.h" @implementation UIOutlineLabel @synthesize outlineColor, outlineDeep; - (id) initWithFrame:(CGRect)frame { self = [su.. 2011. 6. 10.
NSString 암호화 암호화 할 일이 있어서 제작한 NSString 카테고리를 올려 봅니다. 암호화 하는 방법은 원본 스트링 -> AES256 인코딩 -> base64 인코딩 -> 암호화 된 스트링 역으로 하는건 암호화 된 스트링 -> base64 디코딩 -> AES256 디코딩 -> 원본 스트링 이런 식으로 진행하게 됩니다. 뭐.. 결국은 인터넷에 굴러 다니던 AES256 방법과 base64를 조합한 정도 ^^;; 하지만, 유용해서.. 올려 봅니다. 사용 방법은 클래스들을 프로젝트에 추가하고 NSString+Encrpyt.h를 import합니다. #import "NSString+Encrypt.h" 그리고 간단하게 아래와 같이 사용 하시면 됩니다. NSString *str = @"아무도모르게"; NSLog(@"암호화 : %@.. 2011. 5. 25.
UIImage를 흑백 이미지로 바꾸기 UIIamge를 흑백으로 바꾸는 방법을 찾다가.. 찾은 내용 입니다. 참고 하세요. -(UIImage*)convertImageBlackAndWhite:(UIImage *)image { CGColorSpaceRef colorSapce = CGColorSpaceCreateDeviceGray(); CGContextRef context = CGBitmapContextCreate(nil, image.size.width, image.size.height, 8, image.size.width, colorSapce, kCGImageAlphaNone); CGContextSetInterpolationQuality(context, kCGInterpolationHigh); CGContextSetShouldAntialias(c.. 2011. 4. 26.
UIView에서 Subview 지우기 아이폰 프로그램을 사용하면서 가장 자주 쓰게 되는 view에서 subview를 지우는 방법을 간단하게 정리해 봅니다. 먼저 샘플로 라벨을 올려 봅니다. // UILabel 생성하기 UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 15, 40, 20)]; // label에 태그 넣기 aLabel.tag = 1; // 글자쓰기 aLabel.text = @"Hello World"; // 라벨을 뷰에 올리기 [self.view addSubview:aLabel]; 하위에 있는 뷰 모두 지우기 1 // With some valid UIView *view: for(UIView *subview in [self.view subviews]) { [subvi.. 2011. 4. 25.
아이폰에서 통신 사업자 및 국가코드 알아 오기. 이제는 SK에서도 아이폰이 나오니.. 슬슬 필요 하지 않을까 싶어서 적어 봅니다. 아래 코드를 이용하면, 핸드폰의 국제 설정이 아니라, 서비스의 위치로 사용 할 수도 있습니다. 먼저 프로젝트에서 CoreTelephony.framework를 추가해 줍니다. 그리고 아래와 같은 코드를 넣어 주시면 됩니다. #import #import CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease]; CTCarrier *carrier = [networkInfo subscriberCellularProvider]; // 사업자 이름 알아오기 NSString *carrierName = [carrier carrierNam.. 2011. 3. 22.
이전 버전의 xcode 설치 하기.. 흠... xcode 4.0 gm 버전을 쓰다가.. 시뮬레이터가 이상하게 동작해서.. 3.X 버전으로 내렸더니.. 시뮬레이터가 아예 동작을 안 하게 되네요 -_-; 혹시나 해서, 폴더를 모두 지우고, 다시 xcode를 설치 했는데.. 역시나.. 시뮬레이터가 동작을 안 하네요.. 결국은 osx를 다시 설치하는 사태까지 벌어졌습니다. 지금은 이런 낭패를 보고 3.x대로 버전을 낮춰서 개발하고 있습니다. 소 잃고 외양간 고치는 격으로 버전 별로 설치하는 방법을 찾아서.. 올립니다. http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/downloads 애플 개발자 계정으로 로그인 한 후, 위 주소로 가셔서 옆에 보시면, Developer Tools 이라고.. 2011. 3. 7.
xcode 4.0에서 gh-unit을 이용해서 unittest 하기.. xcode 4.0으로 넘어 가면서.. 이래저래 익숙하지 않아서 난감한게 많네요. 코드를 작성하다가.. unittest를 하려고 하다 보니.. 4.0에서는 또 다른 일이네요 -_-;; 적용하다가.. 알게된 gh-unit이라는 라이브러리가 있어서.. 4.0용에서 사용 하는 과정을 정리해 봤습니다. 이게 ui도 잘 되어 있고, 훨씬 좋더라구요 ^^; https://github.com/gabriel/gh-unit 시작 하시기 전에 기존 프로젝를 띄우시거나, 빈 프로젝트를 띄어 줍니다. 1. target 추가 하기. File > New > New Target... 으로 타겟을 추가해 줍니다. Application > Window-based Application 을 선택해 줍니다. 여기선 tests라는 이름으로 타.. 2011. 3. 3.