아이폰을 쓰다보면 내용을 기록하거나 스크랩 하는 일이 생긴다.이 내용을 어떻게 공유할것인지 문자로 보낼까? 메일로 보낼까? 아이폰의 경우 사용중인 폰이라면 그럴 걱정이 없다.설정만 해놓으면 편하게 이용할 수 있는 방법이 있으니 말이다.아이폰을 쓰다보면 자동 빽업을 하기위해서 iCloud설정이나 메일을 쓰기위해 여러 메일등을 연동하게된다.iCloud 설정및 메일 설정이 Gmail 둘 다 되어있다고 가정하고 설명하겠다.설정에서 iCloud, 메일 설정에서 메모 공유를 관련 정보를 설정할 수 있다.환경설정 > 메일 설정 > 계정에서 Gmail선택 시 환경설정 > iCloud 선택 시 환경설정 > 메모 선택 시 기본 계정을 선택할 수 있다. 메모를 실행하여 각각의 계정에 따라 내용을 확인할 수 있다. 먼저 iC..
목적 : 차량용 블랙박스를 한번 만들어 볼까 해서 시작내용 : 디바이스 성능에 따라 다르겠지만 아이폰을 통해 블랙박스를 사용하고 싶었기에 Tmap이나 사용하고 있었던 Ployd Black Box를 참조하여 개발하게 되었다. 역시나 생각했던것과는 달리 시작과 동시에 문제점들이 나타나기 시작하였다.1. 기존 앱 개발하면서 사용하였던 UIImagePickerController 를 이용하여 녹확를 시도 해 보았으나 옵션 설정 코드를 어떤 순서로 주느냐에 따라 앱이 죽는문제가 발생하여 2~3일 허송세월을 보냈다. => 이리저리 옵션을 바꿔보다 애플 셈플코드가 생각나 부랴부랴 관련 코드를 찾기 시작했다. 동영상을 녹화하기 위해서 사용하는 프레임워크나 라이브러리를 찾아보기 시작하여 플레이어부터 레코딩 할 수 있는 앱..
아이폰에서 안드로이드의 Tost와 같은 기능을 만들기 위해 만들어 보았다. 1. UIView를 이용하여 화면을 생성하고 Label을 추가하였다. -(void)createTostView { tostView = [[UIView alloc] initWithFrame:CGRectMake( 0, 0, 200, 40)]; tostView.center = CGPointMake(self.view.frame.size.width/2, (self.view.frame.size.height2)+(self.view.frame.size.height4)); [tostView setBackgroundColor:[UIColor whiteColor]]; [self.navigationController.view addSubview:tost..
[홈페이지]http://zbar.sourceforge.net/iphone/index.html [iOS7 대응]http://blog.naver.com/wankil?Redirect=Log&logNo=40199872071 [자동스캔 시] ZBarReaderViewController[앨범이나 사진촬영 시] ZBarReaderController .h #import "ZBarReaderController.h" 추가 .mZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init];reader.readerDelegate = self;reader.showsZBarControls = NO;reader.showsCameraControls = NO;ZB..
//화면 캡쳐해서 저장하기 CGRect screenRect = CGRectMake(0, 40, 480, 320); UIGraphicsBeginImageContext(screenRect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [[UIColor clearColor] set]; CGContextClipToRect(context, screenRect); [self.layer renderInContext:context]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); //UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); // 사진앨범 ..
심플하게 wevView를 통해 연결 하기. //해당 URL주소 @"http://twitter.com/intent/tweet?source=webclient&text=" @"http://www.facebook.com/sharer.php?u=" @"http://me2day.net/posts/new?new_post[body]=" NSString *snsUrl = [NSString stringWithFormat:@"%@%@", @"SNS주소", [@"전송할 텍스트 또는 URL" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSURL *url = [NSURL URLWithString:snsUrl]; [webView loadRequest:[NS..
NSTimer는 전역으로 설정해주는 것이 나중에 관리할 때 문제가 없기 때문에 전역으로 설정해서 쓰는 편이다. 아니면 "Timer = "이 부분을 제외하고 써줘도 문제는 없으나 객체(view)가 dealloc 되더라도 타이머를 죽이지 않으면 실행되기 때문에 방어 코드가 필히 들어가야 한다. //타이머 생성 timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerMethod) userInfo:nil repeats:YES]; //타이머 해제 if (timer != nil) { [timer invalidate]; timer = nil; } //활용 - 타이머 userInfo에 값을 할당하여 전달 할 수도있는..
//생성 mainViewController = [[MainViewController alloc] init]; naviController = [[UINavigationController alloc]initWithRootViewController:mainViewController]; [naviController setNavigationBarHidden:YES];//상단 타이틀 배경 숨김 [self.window addSubview:naviController.view]; [mainViewController release]; //MainViewController 에서 다른 View를 추가할 경우 SubViewCont *subView = [[SubViewCont alloc] initWithFrame:CGRectMa..
해당 어플에서 환경설정 값이나 사용자 정보를 보관해야 할 경우가 생긴다 그 때 자주쓰게 되는것이 NSUserDefaults 이다. 전체 내용을 저장하고 불러올 수 있으며, 개별적으로 가능하다. //앱 삭제 후 재 설치 하더라도 값이 남아있음.//앱 최초 실행을 체크하기에는 캐쉬에 파일 생성 여부로 확인함. #pragma mark config -(void)configLoad { NSUserDefaults *UD = [NSUserDefaults standardUserDefaults]; if (UD) { g_Id = [UD objectForKey:@"id"]; g_Password = [UD objectForKey:@"password"]; num = [UD integerForKey:@"number"]; } } ..
NSUserDefaults 에 사용자 정보를 저장하기에는 그렇고 별도로 암호화/복호화 하기도 번거롭고 해서 중요한 정보인 사용자 id, password를 저장해놓고 사용하기 위해 keychain을 사용하였다. //애플 래퍼런스 문서 (해당 셈플코드에서 KeychainItemWrapper 클래스 소스를 가져다 쓰기바람 ) http://developer.apple.com/library/ios/#samplecode/GenericKeychain/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007797-Intro-DontLinkElementID_2 // framework 에 Security.framework 추가. NSString *idKey = @"id"; NSStri..