본문 바로가기

프로그래밍439

iPhone Safari 웹개발 기본 팁 1. -webkit-text-size-adjust 페이지가 회전할때 폰트사이즈가 자동으로 변경되지 않도록 한다 그러나 안좋은 면이 있는데 보통 webkit 브라우저들에서는 적용안됨. auto : default값, 화면의 폭에 맞추어서 텍스트 크기가 자동으로 조절된다. none : 폰트의 자동크기변환을 막으며 모바일웹에서 일반적으로 설정한다. n% : 폰트크기를 지정된 사이즈로 변경한다. html { -webkit-text-size-adjust:none; } 2. apple-mobile-web-app-capable content값이 yes로 지정하면 풀스크린모드로 자동하고 그렇지 않으면 일반모드로 작동 window.navigator.standalone의 속성을 사용해서 풀스크린모드를 표시 content :.. 2011. 6. 8.
iPhone용 Open Source 모음 http://code.google.com/p/oauthconsumner/ http://code.google.com/p/mpoauthconnection/ http://getsharekit.com/ http://code.google.com/p/nate-ios-client-api/ https://github.com/facebook/facebook-ios-sdk http://code.google.com/p/cocoaasyncsocket/ https://github.com/enormego/cocoa-helpers https://github.com/woohj70/iPhotoDiary https://www.dropbox.com/developers/releases ------------------------------.. 2011. 6. 5.
PHP로 APNS(Apple Push Notification Service)용 프로바이더 서버를 구축하기 위한 자료 링크 : http://code.google.com/p/apns-php/ 2011. 6. 5.
푸시 프로바이더 PHP 예제 2011. 6. 5.
아이폰/아이팟 터치용 웹 애플리케이션 개발 팁 12개 Stoyan Stefanov씨는 아이폰/아이팟 터치에서 제공하는 사파리 브라우저(이하 모바일 사파리)용 웹페이지를 구축할 때 알아두면 유용한 팁 12가지를 작성했습니다. 아시다시피 모바일 사파리는 데스크탑용 브라우저와 견주어도 손색없을 정도의 풀브라우징을 지원하며, 작은 화면에서 효과적으로 컨텐츠를 조작 및 조회할 수 있도록 추가적인 특수한 API를 제공하고 있습니다. 지금부터 소개할 12가지 팁과 트릭은 기존의 사이트를 모바일 사파리에 최적화하거나, 새롭게 구축할 때 유용하게 사용할 수 있을 것입니다. 1. 관련 문서와 아이폰 시뮬레이터Peter-Paul Koch씨는 모바일 사파리를 가지고 연구하기 시작했을 무렵에는 그 어디에도 관련 개발 문서를 찾을수 없었다고 불평했습니다. 애플은 한참이 지나서야 모.. 2011. 6. 4.
위치정보(GPS) 위치정보는 CLLocation과 CLLocationManager 두개의 클래스에서 관리가 된다. CLLocationManager에게 정보를 요청하면 CLLocation 인스턴스에 정보를 담아서 알려준다. 정보를 알려줄 때는 CLLocationManagerDelegate 프로토콜의 locationManager:didUpdateToLocation:fromLocation 메서드를 통해서 알려주므로 위치정보를 알고자 하는 클래스에서 이 프로토콜을 따르도록 해주고 해당 메서드를 구현해주어야 한다. ( 오류발생시에는 locationManager:didFailWithError: 메서드로 통보해준다. ) 구현 절차를 보면, 1. 코어 로케이션 프레임워크가 기본적으로 포함되어 있지 않으므로, 코어 로케이션 프레임워크를 .. 2011. 6. 3.
뷰 Animation효과 - 모달창 띄우기 / 창뒤짚이는효과 / 페이지넘김효과 >> 모달창 효과 1. View-base로 프로젝트를 생성한다. 2. 모달로 띄울 용도의 뷰컨트롤러 클래스를 추가한다. ( UIViewController subclass / XIB가짐 ) 클래스명 : MyModal 3. 부모 View에서 특정 액션시에 아래와 같이 MyModal 뷰를 띄운다. ( 부모뷰컨트롤러의 presentModalViewController:animated: 메서드를 이용한다. ) MyModal* myModal = [[MyModal alloc] initWithNibName:@"MyModal" bundle:nil]; [부모뷰컨트롤러객체 presentModalViewController:myModal animated:YES]; [myModal release]; 4. 모달로 뜬 View 에서 .. 2011. 6. 3.
@property 옵션 정리 @interface MyClass : ParentClass { int param1; NSString* param2; } @property(assign,readwrite,nonatomic) int param1; @property(retain,atomic) NSString* param2; 위와 같이 두개의 property를 이용해서 클래스 멤버에 대한 접근자를 자동으로 생성해주게 되는데, 몇가지 옵션에 따라서 접근자의 성격이 달라지게 된다. 멤버가 값 타입인 경우에는 옵션으로 assign을 설정하거나 지정하지 않으면 된다. 멤버가 객체타입인 경우에는 assign, retain, copy 중 하나를 옵션으로 지정하여야 한다. 옵션에 따라 자동으로 생성되어지는 setter 접근자는 다음과 같이 차이가 있다. >.. 2011. 6. 3.
iOS 메모리 관리 1. alloc/copy/new/retain/Create 메소드로 생성 또는 지정한 객체는 개발자 스스로 release 해야한다. alloc 한만큼 release 해야한다. 2. 위 메소드 이외의 메소드로 생성한 객체는 대부분 autorelease 상태이다. autorelease 상태의 객체는 그 블럭에서만 유효하고 그 이후에는 언제 사라질지 알수가 없다. 얻어진 객체를 계속 사용하려면 retain 시켜줘야 한다. 위 규칙은 컴파일러에서 보장되는 원칙이 아니다. 따라서 autorelease 상태가 아닐 수 있다. 3. 개발자가 생성한 메소드가 객체를 반환할때는 위 2번 규칙에 따라 만드는 것이 좋다. 나도 헤깔리지 않고, 소스를 넘겨받은 사람도 헤깔리지 않는다. 4. 집합체(NSArray 등) 객체에 객.. 2011. 6. 2.
MPMoviePlayerController의 Notifications목록 MPMovieDurationAvailableNotification 동영상 객체의 총 재생시간을 알아낼 경우 알림이 발생한다. 총 재생시간은 MoviePlayerController.property에 반영된다. MPMovieMediaTypesAvailableNotification 동영상 객체의 미디어 타입이 파악된 경우 알림이 발생한다. 지원되는 미디어 타입은 MoviePlayerController.movieMediaTypes에 반영된다. MPMovieNaturalSizeAvailableNotification 동영상 객체의 프레임 사이즈가 처음 파악된 경우, 혹은 그 후에라도 변경된 경우 알림이 발생한다. 프레임 사이즈값은 MoviePlayerController.naturalSize에 반영된다 MPMovie.. 2011. 6. 2.
UIView 화면 터치시 single tap , double tap에 대한 구현 아이폰 개발시 화면 터치에 대한 single tap , double tap에 대해서 구현해보자 물론 UIView를 상속 받아야지만 아래의 터치 관련 함수가 콜된다~ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSUInteger tapCount = [touch tapCount]; switch (tapCount) { case 1: [self performSelector:@selector(singleTapMethod:) withObject:nil afterDelay:.4]; break; case 2: [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(s.. 2011. 6. 2.
NSMutableDictionary 사용법 및 삽입 ,삭제에 대해서 알아보자 1. NSMutableDictionary 생성 및 add 방법 //생성 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; //item add [dictionary setObject:@"A Book about the Letter A" forKey:@"A"]; [dictionary setObject:@"A Book about the Letter B" forKey:@"B"]; [dictionary setObject:@"A Book about the Letter C" forKey:@"C"]; 2. NSMutableDictionary remove 방법 // 전체 루프를 돌면서 각각의 아이템 삭제 작업을 해줘야합니다 for (id theKe.. 2011. 6. 2.
현재 UIView Animation Stop 방법 현재 UIView의 Animation 중이라면 특정 액션시 Stop 하는 방법에 대해서 알아보자... 간단하다..... 소스 코드를 보자 //1. 먼저 UIView Animation을 만들고 진행하자.... [UIView beginAnimations:@"test" context:itemView]; [UIView setAnimationRepeatAutoreverses:YES]; // important [UIView setAnimationRepeatCount:20]; [UIView setAnimationDuration:0.25]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(testCallt:)]; //2... 2011. 6. 2.
화면상에서 터치 이벤트 발생시 View에서 무시하기 방법 아이폰 개발시 특정 상황에서 터치 이벤트를 무시해야 할때가 있습니다. 예를 들면 파일 로딩중 등등.... 이때 간단하게 이벤트 받지 않기등을 처리할수있네영 1. Touch Event 무시하기 [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 2. 다시 Touch Event 받기 [[UIApplication sharedApplication] endIgnoringInteractionEvents]; 출처 : http://dongss.tistory.com/entry/iOS-%EC%95%84%EC%9D%B4%ED%8F%B0-%EA%B0%9C%EB%B0%9C-%ED%99%94%EB%A9%B4%EC%83%81%EC%97%90%EC%84%9C-%E.. 2011. 6. 2.
Static Class 만드는 방법 아이폰 개발시 Static Class 만드는 방법입니다. @interface Foo : NSObject { } + (NSObject*)classVariable; @end // Foo.m #import "Foo.h" @implementation Foo + (NSObject*)classVariable { return classVariable; } @end 출처 : http://dongss.tistory.com/entry/StaticClass 2011. 6. 2.
아이폰에서 아이콘 삭제시 나오는 좌/우로 움직이는 애니메이션 효과 구현하기 이번에는 아이폰에서 아이콘을 길게 누르면 아이콘 삭제 모드로 전환됩니다. 그러면서 화면에 아이콘 이미지 삭제가 가능하게 아이콘들이 좌/우로 움직이죠,, 이러한 효과를 구현해 봅시다~!!! iphone's wobbling icon effect!!!! 긴 설명 없이 소스를 보시죠~ 설명은 추석 처리했습니다. #define RADIANS(degrees) ((degrees * M_PI) / 180.0) // iremView라는 아이콘을 가진 뷰어를 좌/우 흔들리는 애니메이션을 만들어보죠 // 좌/우 움직임에 대한 transform을 구하고~ CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-5.0)).. 2011. 6. 2.
iPhone Configuration Utility 를 이용한 AdHoc 배포. 아이폰 앱 개발을 완료 하고 나서, QA 를 위해서 주변 지인 분들이나, 사내 QA 팀에 앱을 배포해야 할 때가 있습니다. 이때 많이 사용하는 방법이 앱을 AdHoc 방법으로 배포를 하는 것입니다. (AdHoc 배포 파일을 만드는 방법은 여러 다른 분들께서 설명을 많이 해 주셨으니, 이번 포스팅에선 넘어갑니다. ) 그런데 이 AdHoc 배포가 여간 불편한게 아닙니다. 저도 그동안 AdHoc 파일을 iPhone 에 설치 하기 위하여 아래 와 같은 절차를 밟았습니다. AdHoc 파일을 다운로드 받는다. 아이폰과 동기화 되어 있는 iTunes에 설치한다. 아이폰과 동기화 한다. 위 절차가 번거로운 이유는 2번 때문입니다. 꼭 동기화 되어 있는 iTunes 가 필요하기 때문이지요. 하지만, 이번에 소개하는 툴을.. 2011. 5. 27.
디바이스 메모리 체크 간단하게 메모리맄 체크하실때는 프리메모리만 따로 계산해서 사용하셔도 무방합니당; 출력은 각자 맘껏 바꾸세용 ㅎ; #include #include #include #include void checkMemory() { mach_port_t host_port; mach_msg_type_number_t host_size; vm_size_t pagesize; host_port = mach_host_self(); host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); host_page_size(host_port, &pagesize); vm_statistics_data_t vm_stat; if (host_statistics(host_port, HOST_VM_IN.. 2011. 5. 26.
도전! 아이폰4 프로그래밍 목차 *실제 책이 아래 미리보기 이미지와 같이 600페이지 모두 풀컬러로 구성되어 있습니다 출처 : http://cre8ive.kr/ican/spreads.html 관련 사이트 : http://www.digitalnew.co.kr/ 2011. 5. 21.
터칭 아이폰 sdk 3.0 목차 1장 안녕! 아이폰! 1.1 아이폰의 등장 1.2 아이폰/ 아이팟 터치 모델 1.3 아이폰 OS 3.0의 새로운 기능 1.4 이 책이 다루는 내용 1.5 새로운 도전 2장. 설치 및 개발 환경 구축 2.1. 개발에 필요한 시스템 2.1.1. 개발에 필요한 시스템 사양 2.2. 아이폰 SDK 설치 2.2.1 아이폰 SDK 설치하기 2.3. Xcode 2.3.1. 프로젝트 템플릿 2.3.2 Xcode 화면 구성 2.4 인터페이스 빌더 2.4.1 인스펙터 2.4.2 라이브러리 2.4.3 문서 창 2.4.4 연결 패널 2.5 도움말 접근하기 2.5.1. 조사 도우미 2.5.2. 도움말 창 2.5.3 고급 검색 2.5.4. 편집기의 문자열을 도움말 창에서 바로 검색하기 2.5.5 도움말 문서의 형태 2.6 아이폰.. 2011. 5. 21.
UITableView section 과 cell 로 구성된다. 테이블은 여러개 section을 가질수 있고, 각 section은 여러개의 cell로 구성된다. 델리게이트는 UITableViewDataSource 프로토콜과 UITableViewDelegate가 있다. UITableViewDataSource : 섹션 개수, 섹션 내의 셀 갯수, 각 셀의 모습 담당 UITableViewDelegate : 셀 높이, 섹션 해더, 섹션 푸터, 셀 선택 이벤트 담당 //섹션 개수 반환 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView //각 섹션의 셀개수 반환 -(NSInteger)tableView:(UITableView *)table numberOfRowsInSecti.. 2011. 5. 21.
더 빠르게 HTTP 서버에서 이미지 다운로드하는 방법 // [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://cfile25.uf.tistory.com/image/16647B174B82CA35083598"]]; // 위 방법 보다 아래의 방법이 더 빠름! NSMutableURLRequest *requestWithBodyParams = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://cfile25.uf.tistory.com/image/16647B174B82CA35083598"]]; NSData *imageData = [NSURLConnection sendSynchronousRequest:requestWithBodyParams retur.. 2011. 5. 21.
How to get root(key) window - 최상위 윈도우 알아내기 어디서든 쓸 수 있는 아주 좋은(?) 최상위 윈도우(key window?)를 알아내는 코드 UIWindow *w = [[UIApplication sharedApplication] keyWindow]; 너무나 아름다운 코드다! 출처 : http://seorenn.blogspot.com/search/label/iOS 2011. 5. 21.
아이폰 개발 소스모음 Sample code is one of the most useful tools for learning about programming. There seem to be many sources on the web for iPhone sample code, but some are harder to find than others. Here's a collection of links I've found so far. Does anyone know of some other sources for iPhone sample code? Apple Sample Code: http://developer.apple.com/iphone/library/navigation/SampleCode.html Apps Amuck 31 day.. 2011. 5. 21.