본문 바로가기

전체보기1040

다른 시스템에 프로비져닝 프로파일 등록하기 집의 맥에서도 아이폰 개발환경을 만들기 위해 프로비져닝 코드를 등록하는 작업을 하고, 간단히 정리해 보았습니다. 1. 기존에 설치된 맥 아이폰 개발자 포털에서 발급받은 인증서가 설치된 기존의 맥에서 키체인 접근을 실행합니다. 키체인 접근은 응용 프로그램 아래에 유틸리티 디렉토리에 있습니다. 인증서 항목을 보면 기존에 등록해 놓은 인증서들이 있습니다. 다른 시스템에 등록할 해당 인증서를 마우스 우클릭을 한 후에 '보내기' 메뉴를 클릭합니다. 적당한 이름을 입력하고 파일포맷을 .p12로 되어 있는 것을 확인한 후에 저장 버튼을 클릭합니다. 패스워드를 설정 창이 뜨면 사용할 패스워드를 지정합니다. 이 패스워드는 다른 시스템에서 다시 인증서를 등록할 때 사용합니다. 위에서 저장한 *.p12 파일을 새로 설치할 .. 2011. 10. 11.
아이폰3GS와 아이폰4의 이미지 모두 맞추기 아이폰3GS와 아이폰4의 해상다고 다르다는걸 알고 계실텐데요.. 그럼 개발시에 두가지 사이즈를 모두 고려해서 코딩을 해야 하는가에 대한 질문에 대답은.. NO 입니다. 아이폰3GS와 아이폰4의 해상도를 두개 다 맞추는 방법은 아주 쉽습니다.(애플사가 고려한 것이지요) 어플에서 좌표는 아이폰3GS 좌표계를 그대로 쓰시고, 이미지만 2가지로 제작하면 됩니다. ImageName.png 와 ImageName@2x.png 이 2가지를 만들면 되구요. 뒤에 @2x 붙은게 아이폰4용이고, 딱 2배 크기로 늘려둔 이미지입니다. 실제 이미지를 호출할때는 ImageName.png 만 호출하시면 되구요.(여기서 확장자까지 전부 써주셔야 합니다) 레티나에서는 자동으로 ImageName@2x.png를 불러와서 2배 뻥티기한 좌.. 2011. 10. 11.
Custom URL Scheme, handleOpenURL를 이용하여 HTML에서 앱 실행하기 HTML의 href를 이용하여 애플리케이션을 실행할 수 있다.우선 openURL.html에 html코드를 저장하고 openJs.js에 javascript를 저장한다. 이 HTML 페이지는 버턴을 누르면 iPhone E-mail Application이 실행될 것이다. 그리고 Call Application을 클릭하면 Saltfactory Apps이 실행이 될 것이다. saltfactory's openURL Send E-mail Call Application function touchedUpMailButton() { var email = "saltfactory@gmail.com"; var subject = "open application on HTML"; var body = "tutoiral openURL E.. 2011. 10. 11.
페이지 넘김 효과 구현 import해야 할 Framework : * layer와 CATransaction 사용을 위해 QuartzCore Framework를 import 해야 함. *CATransaction은 다중의 layer 계층에서 발생하는 변경사항을 일괄처리하는 Core Animation 메카니즘으로 layer 계층에서 발생하는 모든 변경사항을 감지하여 처리한다. *CATransition은 layer가 다른 상태로 이행하는 Animation의 처리를 담당하는 클래스다. *예제코드 // 트랜잭션 시작을 알림 [CATransaction begin]; // 속성 지정 (자세한 내용은 API 문서 참조...^^;;;) [CATransaction setValue:[NSNumber numberWithBool:YES] forKey:k.. 2011. 10. 11.
ipa 파일 생성하는 방법 app 파일을 이용해 .ipa파일을 생성하는 방법은 다음과 같다. 1. 작업 디렉토리를 생성한다(Ex. Work) 2. 작업 디렉토리 안에 Payload라는 디렉토리를 생성한후, .app파일을 Payload내부로 옮긴다. 3. 작업 디렉토리의 위치에서 터미널을 열고 다음의 커맨드를 입력한다. ditto -c -k --keepParent ./Payload {App 이름}.ipa 4. 3번 과정을 생략하고 Payload디렉토리를 .zip으로 압축하고 확장자를 .ipa로 바꾸어도 된다. 2011. 10. 10.
탭바와 피커 피커 (Picker) 사용 시 유의점 일반적으로 인어페이스 빌더에서 컨트롤을 선택하다 컨텐츠 뷰에 놓고 설정하는 일반적인 방식으로는 피커를 사용할 수 없음. 피커를 사용하기 위해서는 '피커 델리게이트(Picker delegate)'와 '피커 데이터소스(Picker dataSource'를 사용하여야 함. - Picker에서의 delegate의 역할 : 각 행과 각 해당 행에 속한 컴포넌트 중에서 실제로 무엇을 그릴 지 결정 피커는 델리게이터에게 문자열(NSString) 또는 주어진 컴포넌트의 특정 위치에 내용을 그리기 위한 뷰(NSView)를 요청 - Picker에서의 dataSource의 역할 : 데이터 소스는 피커에게 몇 개의 목록이 각각의 컴포넌트를 구성하고 있는 지 알려줌. 데이터 소스는 델리게이트.. 2011. 10. 7.
이미지 늘리기 카톡이나 메세지를 보면 이미지가 해당텍스트에 맞추어서 상하좌우로 늘어나는 것을 볼 수 있다. 아래의 메소드를 이용하여 구현한다. image = [[UIImage imageNamed:@"image.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:0]; stretchableImageWithLeftCapWidth : 왼쪽에서부터 해당위치의 값을 잘라 늘린다. topCapHeight: 위에서부터 해당위치의 값을 잘라 늘린다. image.frame 을 사용하면 해당 크기만큼 이미지가 늘어난다. 2011. 10. 7.
네이게이션바에 이미지 버튼 올리기 아이폰 네비게이션바에 버튼을 넣는 방법입니다. 네비게이션바에 백그라운드 이미지를 넣은 경우에는 버튼 영역이 정상적으로 나오지 않아서 확인 중입니다. ^^;; UIImage *image = [UIImage imageNamed:@"right.png"]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setBackgroundImage: [image stretchableImageWithLeftCapWidth:7.0 topCapHeight:0.0] forState:UIControlStateNormal]; [button setBackgroundImage: [[UIImage imageNamed: @"right_clicked.png"].. 2011. 10. 7.
Stretchable Image를 이용해 App. Size를 줄여보자. iPhone 사용하시다 보면, 다들 이런 경험 있으시죠? ^^ iOS App Store에서 App.을 다운로드 받을때, 20 MB 이상인 녀석들은 3G 인터넷을 통해 다운로드 받을 수 없습니다. App Download에 제한이 걸리게 되면, App 판매량에도 분명 영향을 미칠것입니다. 자 그럼 어떻게 이 뚱뚱한 App 녀석을 다이어트 시켜야 할까요? 최근에 알게된 것중에 하나 인데, 소개 해보려고 합니다. Stretchable Image 즉, 확대 가능한 이미지를 사용함으로써, Image Size를 줄이고, 궁극적으로는 Application Size를 줄일 수 있습니다. Android개발을 해보신 분들이라면, 9 patch Image라는 녀석을 아실텐데요, 그녀석과 흡사하지만 덜 파워풀한녀석입니다 ㅎ 실.. 2011. 10. 7.
아이폰 SMS 말풍선을 만들어 보기 참고 : http://vimeo.com/8718829 혼자 구현해보다가 몇가지 문제를 해결하지 못하고 성질버려서 구굴링한 결과 동영상으로 튜토리얼까지 만든 사이트를 찾았습니다. 위 사이트는 오른쪽, 왼쪽 말풍선 두개를 사용하는데 전 왼쪽용 말풍선을 도저히 구하지 못해서 결국 이미지를 반전시켰습니다. 나중에 사용할 요량으로 우선 저장 //MainViewController.h @interface MainViewController : UITableViewController { NSMutableArray *arrSms; } @property (nonatomic, retain) NSMutableArray *arrSms; - (void)initResource; @end //MainViewController.m #i.. 2011. 10. 7.
아이폰에서나인패치드 이미지처럼 사용하는 방법 출처: http://www.bit-101.com/blog/?p=2275 Skinning UIKit (iPhone) Sliders Jul 26 2009 Published by keith under iPhone, Objective C In my recently released app, Wire Draw (which you can read more about here) I wanted to create a color picker to allow the users to choose the colors of lines. Unfortunately there isn’t a color picker control in UIKit. I did find one on line, with full code on how to i.. 2011. 10. 7.
iOS App 개발/등록시 iCon 사이즈 정리 2011. 9. 30.
jQuery Display 메서드 .show(), hide(), toggle() .show(speed,callback) // display 스타일 프로퍼티 값을 이전값(blok)으로 설정 .hide(speed,callback) // display 스타일 프로퍼티 값을 'none'으로 설정 showclose .toggle(speed,callback) // 안보여졌을경우 보여지게, 보여진경우 감추는 메서드 toggle .slideDown(), .slideUp(), .slideToggle() .slideDown(speed,callback) // 감춰진 모든 일치하는 엘리먼트가 height만큼 아래로 펼쳐져 보임 .slideUp(speed,callback) // 보여진 모든 일치하는 엘리먼트가 상단으로 사라짐 .slideToggle(spe.. 2011. 9. 20.
GuruLinks: 아이폰 앱 76개 소스코드, 강좌, 개발 팁 링크모음 아이폰 개발시 도움이 되는 각종 팁 , 튜토리얼, 소스코드 링크 모음입니다. 제가 주로 트위터를 통해서 공개한 것들입니다만, 워낙 간헐적으로 트위팅 한듯해서 좀더 링크를 모아서 포스팅 합니다. 한글판 앱스토어 리뷰 가이드라인은 아이폰 앱 개발자분들은 꼭 한번 읽어보셔야 합니다. Open Source iPhone Apps List – 43 App Store Apps So Far ! 아이폰 앱들중에 앱스토어에 등록되어 있으면서도, 소스가 공개되어 있는 앱들의 모음입니다. 관련 앱을 개발할 때 참고하면 아주 유용하게 사용할수 있을것입니다. 트위터 클라이언트 Natsulion, Tweetee,Tweetero,Twitterfon ( 많은분들이 사용하시는 EchoFon 입니다 ) 등이 있어서 트위터 관련 소스를 얻.. 2011. 8. 10.
iPhone Configuration Utility 를 이용한 AdHoc 배포. 아이폰 앱 개발을 완료 하고 나서, QA 를 위해서 주변 지인 분들이나, 사내 QA 팀에 앱을 배포해야 할 때가 있습니다. 이때 많이 사용하는 방법이 앱을 AdHoc 방법으로 배포를 하는 것입니다. (AdHoc 배포 파일을 만드는 방법은 여러 다른 분들께서 설명을 많이 해 주셨으니, 이번 포스팅에선 넘어갑니다. ) 그런데 이 AdHoc 배포가 여간 불편한게 아닙니다. 저도 그동안 AdHoc 파일을 iPhone 에 설치 하기 위하여 아래 와 같은 절차를 밟았습니다. AdHoc 파일을 다운로드 받는다. 아이폰과 동기화 되어 있는 iTunes에 설치한다. 아이폰과 동기화 한다. 위 절차가 번거로운 이유는 2번 때문입니다. 꼭 동기화 되어 있는 iTunes 가 필요하기 때문이지요. 하지만, 이번에 소개하는 툴을.. 2011. 8. 8.
Mac OS X의 터미널에서 하위 .svn 폴더 모두 삭제하기 - Mac OS X의 터미널에서 하위 .svn 폴더 모두 삭제하기 - 출처 : http://lambert.tistory.com/264 터미널을 실행 SVN을 싹 지우고 싶은 폴더 경로에서 아래와 같이 실행 find . -type d -name .svn -depth -exec rm -rf {} \; 혹시나 안되면 sudo find . -type d -name .svn -depth -exec rm -rf {} \; 로 앞에 sudo를 붙이고 해보자. 2011. 8. 3.
backBarButtonItem 은 적용이 안된다?? >>>>>>>>>>>>>>>>>>>>>>>>>>> 위와 같이 만들고 싶다면.. 어떻게??? >>>>>>>>>>>>>>>>>>>>>>>>>>>> backBarButtonItem 쓰면 된다라고 하는데 backBarButtonItem 이 안먹힌다 라고 많이 한다 나도 그랬고.. 안되는게 아니라 쓰이는 방법이 다르다.. Main 에서 호출 한 Sub에서 돌아 올때 back 을 컨스텀 하게 바꾸기 위해서는 Sub 에 - (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *left = [[UIBarButtonItem alloc] initWithTitle:@"my Back" style:UIBarButtonItemStyleBordered target:self // e.. 2011. 7. 29.
UITableViewCell의 프로퍼티 외에 이것이 지원하는 프로퍼티와 메소드 제목은 뭔소리인지 잘 이해가 안간다 하지만 내가 원하는 부분인 것 같아 적어 놓는다. contentView : 셀 내용이 나오는 뷰를 가리킨다. 읽기 전용 backgroundView: 셀의 배경 뷰를 가리킨다. 애플리케이션이 직접 설정할 수 있다. 배경 뷰는 UITableViewCell전체 영역의 배경으로 사용된다. selectedBackgroundView: 셀이 선택되었을 때 사용될 배경 뷰를 가리킨다. 이것 역시 애플리케이션이 직접 설정할 수 있다. accessoryType과 accessoryView : 액세서리 뷰의 타입을 지정한다. accessoryType은 표준 액세서리 뷰의 종류를 지정하고, accessoryView는 커스텀 액세러리 뷰를 지정한다. 이 두 개는 서로 배타적이다. 즉 acces.. 2011. 7. 26.
TableView 스타일 정리 // // _6_UITableViewViewController.h #import @interface _6_UITableViewViewController : UIViewController { UITableView *tView; NSArray *photoArray; } @property(retain, nonatomic) IBOutlet UITableView *tView; @property(readonly) IBOutlet NSArray *photoArray; -(NSArray *)createPhotoData; @end // // _6_UITableViewViewController.m #import "_6_UITableViewViewController.h" @implementation _6_UITableVie.. 2011. 7. 26.
iOS 개발자 라이센스 비교 1. 아이폰 개발 라이센스 비교 ~!! ▷ 개인은 고민할 필요가 없이 개인개발자 라이센스를 구매하여 사용 하시면 되겠습니다. 해당 라이센스가 필요한 이유는 라이센스 없이는 휴대폰으로 테스트 조치 불가하기 때문입니다. 앱스토어 등록시도 당연히 필요하구요 (1년 99$) ▷ 기업용이라면 회사계정으로 하나 구매해서 사용하시면되는데, 개인용과 크게 다른 건 없는 거 같아요 (기능상으로는... ) ▷ 회사가 조금 큰 경우는 엔터프라이즈 개발 라이센스를 구매하셔야 됩니다. (1년에 299$ ) 이녀석은 차이가 좀 많이 있어요. 아래와 같이 비교를 해놓았으니 참고하시구요 라이센스 유형 배포 방식 기기등록 필요여부 애플심의 유효기일 개인개발자(1인) (99$) (iphone developer progam) - indi.. 2011. 7. 13.
webview에서 Link 클릭했을때 이벤트 얻기 웹뷰에서 html로 변경한 데이터를 출력한 후에... 그 내용중에 링크 부분을 클릭하면.... 사파리창이나 해당웹뷰에서 새로운 페이지가 열리는것이 아니라... 제가 만든 메소드를 실행하고 싶은데..... 링크부분을 클릭했을때 발생하는 함수가 무엇인가요?? 가능은 할까요? ㅠㅠㅠ --------------------------------- 자답입니다..... http://surgeworks.com/surgeworks/lab-mobile/iphone/how-to-override-uiwebview-links-request-action-with-your-own-custom-method 이미 자답하셨네요. ㅎㅎ - (BOOL)webView:(UIWebView*)theWebView shouldStartLoadWit.. 2011. 7. 12.
tableview에 "Twenty Five More..." 같은 기능 제가 앱스토어에 어플목록 나오는 것 처럼 "Twenty Five More..." 같은 버튼을 누르면 테이블뷰의 셀의 수가 더 늘어나면서 추가되는걸 구현하려고 하는데요. (데이터는 한번에 10개씩 파싱해서 가져옵니다.) 처음에 맨위(index.row ==0) 의 셀부터 10개의 데이터와 맨밑인 11번째 셀((index.row ==10)에 "10개 더 불러오기"는 제대로 표시가 됩니다. 셀 높이는 한번에 7개씩 보일 정도의 크기이구요. 그런데 테이블뷰를 11번째 셀이 보이도록 맨 위로 한번 올리고 나면 위에서 두번째(index.row ==1) 셀의 내용이 파싱해서 가져온 내용이 아니라 "10개 더 불러오기"로 바뀝니다. 두번째 셀은 화면에서 사라졌다가 나타난 셀이구요. 테이블뷰를 잡고(?) 끝까지 올렸다 내.. 2011. 7. 5.
UIImageView에 원격이미지 비동기 로드 및 캐쉬 기능 넣기 아이폰 개발시작한지 3~4개월 되어가면서 조금 감각을 익히기 시작했습니다. 어플도 그동안 3개 만들어 올려보고요. 물론 사운드, 그래픽을 고급스럽게 다뤄보지는 못했지만 기본 UI기반으로 개발할때도 워낙 이슈가 많다보니 학습과 개발을 병행하는게 정말 쉽지 않더군요.... 각설하고요 ㅎㅎ 여기에 소개할 것은 UIImageView에 원격 이미지를 비동기로 로드할 수 있도록 하는 기능과 이미지 캐쉬 기능을 추가한 소스를 공개하려고 합니다.(소스 분석은 주석을 참고 ^^) 아이폰 어플 개발하면 UIImageView를 매우 많이 사용할 겁니다. 번들이미지의 경우야 어짜피 문제 없지만 원격이미지를 로드할때는 몇가지 이슈가 발생합니다. 1. 원격이미지를 매번 로드하는 것은 네트워크 부하를 일으키며 특히나 3G사용자들에.. 2011. 7. 4.
PHP로 구현하는 APNS (아이폰 푸쉬 서비스) 처음 푸쉬를 구현하려고 자료를 찾을 때 보노님 포스트에서 PHP로 구현하는 법은 인터넷에 많다시며 JAVA로 포스팅한 것을 보았다. 하지만 난 찾을 수 없었다 -_-; 넘흐넘흐 어려웠다! 나름 키워드 선택력이 탁월하다 생각한 본인인데!!! 자 그럼 거두절미하고 차근차근 따라가보자. 우선 여러분께 알려드릴 포스트가 있다. Boxed Ice라는 블로그에 David Mytton이라는 필명을 쓰신 분께서 포스팅한 How to build an Apple Push Notification provider server (tutorial) 사실 위 포스팅이면 무리 없이 구현 가능하다고 본다... 만!!! 약간 쉬운 방법과 함께, 사실 우린 한글을 좋아한다 ㅡ,.ㅡ! 우선 iOS의 푸쉬 기능을 사용하려면 개발자 등록이 필.. 2011. 7. 4.