2012.08.02 17:27

안드로이드에서는 txt.contains("") 하나면 쉽게 해결 될 것을 아이폰에서는 드릅게 꼬아놨습니다.

하지만 익숙해지면 괜찮다는거~ 다음을 봐주세요.


* userText가 String 값 "문자열"을 포함하고 있으면 //TODO 부분의 소스를 실행한다.

 if(!([userText rangeOfString:@"문자열"].location == NSNotFound)){

 //TODO

 NSLog(@"문자열이 포함됨");

 }



신고
Posted by 그린블로그 DEV그린
2012.07.19 14:55

if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){

        NSLog(@"Device info : iPhone");

    } else {

        NSLog(@"Device info : iPad");

    }




이 소스를 넣기 전에 프로젝트 - Target에서 Devices로 되어있는 콤보박스의 값을 Universal로 변경해주어야 한다.

신고
Posted by 그린블로그 DEV그린
2012.07.19 11:23

안드로이드에선 문자열 연결이 +로 모든게 해결되었던 것과 달리 아이폰에선 좀 더 '귀찮게' 변합니다. 


그래서 자바나 안드로이드를 접하다 아이폰을 접하게 되면 기본적인 것부터 헷갈리게 되는데요.


가장 기본적인 문자열 합치기를 알아보겠습니다.



NSString * str = [NSString stringWithFormat:@"%@|%@|%@", @"문자열1번"@"문자열2"@"문자열3"];


NSLog(@"str : %@", str);


로그를 출력해보면 결과 값은 '문자열1번|문자열2번|문자열3번' 으로 출력되는 것을 확인할 수 있습니다.


중간에 보면 |는 구분자로 넣어놨지만 |가 포함된 곳에는 아무 문자열이나 넣어도 상관없습니다.

신고
Posted by 그린블로그 DEV그린
2012.07.19 11:18

int timestamp = [[NSDate date] timeIntervalSince1970];

                    

NSString *strTimestamp= [NSString stringWithFormat:@"%d", timestamp];


NSLog(@"strTimestamp : %@"strTimestamp);

신고
Posted by 그린블로그 DEV그린
2012.07.19 11:03

NSDateFormatter * formatter;

NSString *dateString;

                    

formatter = [[NSDateFormatter alloc]init];

[formatter setDateFormat:@"yyyyMMdd HH:mm"];

                    

dateString = [formatter stringFromDate:[NSDate date]];

                    

[formatter release];

                    

NSLog(@"dateString : %@", dateString );

신고
Posted by 그린블로그 DEV그린
2012.07.18 15:41

UIAlertView* info = [[UIAlertView alloc] initWithTitle:@"" message:@"메시지" delegate:self cancelButtonTitle:@"확인" otherButtonTitles:nil];

[info show];

[info release];

신고
Posted by 그린블로그 DEV그린
2012.06.13 17:44


MFMailComposeViewController 를 제대로 쓴 것 같은데 -O Linker (id) Error가 뜨신다면


일단 프로젝트에 MessageUI 프레임워크를 불러와야합니다!



프로젝트의 Tagets로 가서 Link Binary With Libraries로 간 다음 +를 클릭하여 MessageUI 프레임워크를 추가해야합니다.



Add 버튼을 클릭하여 추가시킵니다.


그 다음 .h 헤더 파일에 import와 Delegate를 제대로 해줘야합니다!





#import <UIKit/UIKit.h>

#import <MessageUI/MessageUI.h>  


@interface MailViewController : UIViewController <MFMailComposeViewControllerDelegate> {


}






그 다음 .m 파일에 추가할 것들입니다.





// 메일 컨트롤러 생성. 메일을 보낼 메소드 안에 넣거나 이대로 바로 호출해도 됩니다.

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc]init];

picker.mailComposeDelegate = self;


if ([MFMailComposeViewController canSendMail]) 

    // 메일을 전송할 있는 환경인지 확인.(메일이 설정에서 등록되어 있어야 합니다.)

{

    url = [url stringByReplacingOccurrencesOfString:@"mailto:" withString:@""];

    NSLog(@"MailUrl : %@",url);

    [picker setToRecipients:[NSArray arrayWithObjects:@"jehun7@hanmail.net", @"jehun7@gmail.com", nil]];  //받는 사람(배열의 형태로 넣어도 됩니다. )

    [picker setSubject:nil];  //제목

    [picker setMessageBody:nil isHTML:NO];     //내용

    [self presentModalViewController:picker animated:YES]; // Modal 형태로 창을 띄움니다.

}





//Delegate는 꼭 있어야 합니다.

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

{

    //상태 결과 값에 따라 처리

    switch (result) {

        case MFMailComposeResultCancelled:  // 취소.

        {

            //알림 창을 띄움.

            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"Cancel" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:nil, nil];

            

            [alert show];

            [alert release];

            break;

        }

        case MFMailComposeResultFailed: // 실패.

        {

            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"Failed" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:nil, nil];

            

            [alert show];

            [alert release];

            

            break;

        }

        case MFMailComposeResultSent:   //성공.

        {

            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"Success" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:nil, nil];

            

            [alert show];

            [alert release];

        }

        default:

            break;

    }

    // Modal창을 닫습니다.

    [self dismissModalViewControllerAnimated:YES];

}









근데 openURL이 더 편합니다..


// 전화걸기

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://전화번호"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://01012345678"]];



// 메일 쓰기

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://이메일주소"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];


//SMS 쓰기

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://전화번호"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://01012345678"]];


// 브라우저 실행

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://url주소"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunesconnect.apple.com"]];




아니 왜 이렇게 짧아 


// 메일 쓰기
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://이메일주소"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];

// 메일 쓰기
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://이메일주소"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];





신고
Posted by 그린블로그 DEV그린
2012.04.09 15:18

아이폰 프로젝트를 체크아웃 받으려다 


host is unreachable


에러가 뜨는 경우가 있습니다.


분명 주소는 제대로 쳤는데 host is unreachable이 뜨는 경우 두가지를 해결책이 있습니다.


1. Xcode는 숫자로 된 아이피 주소를 인식하지 못하는 버그가 있다. 터미널에서 이를 수정해주어야 한다.

2. 터미널에서 svn을 연결시킨 후 다시 실행하본다.




첫 번째 방법은 Xcode가 아이피 주소를 인식하지 못하기 때문에 터미널 /etc/hosts에서 아이피를 도메인으로 설정해줘야 하는 것입니다.


터미널 실행 - sudo nano /etc/hosts - 해당 아이피를 도메인 이름으로 설정.


위의 스크린샷을 예로들면 


192.168.0.1 test.domain.com 으로 수정한 후 


컨트롤+O - Return 버튼 - 컨트롤+X 콤보로 저장 나가기 까지 완료 합니다.


그 후 Oganizer에 다음과 같이 아이피 대신 /etc/hosts 에서 수정한 도메인 명을 입력합니다.


(처음부터 없는 주소기 때문에 Host is unreachable 이 뜨는 것입니다. 제대로 됐다면 제대로 인식됩니다.)


그리고 다음 과정을 진행해주시면 됩니다.



그런데 여기서도 안된다면 터미널에서 직접 SVN을 한번 연결하고 다시 Xcode에서 Organizer에 연결하면 됩니다.


터미널에서 


svn ls svn://192.168.0.1/test


위와 같은 명령어를 입력 해준 후 svn을 연결 시켜놓고 다시 한번 Organizer에서 실행하면 제대로 인식하는 것을 볼 수 있습니다.


그 후 Next - Add 로 마무리 하시면 되겠습니다.


신고
Posted by 그린블로그 DEV그린
2011.11.29 09:49

UIButton *btn;


btn.titleLabel.font = [UIFont boldSystemFontOfSize:12.0];

저작자 표시
신고
Posted by 그린블로그 DEV그린
2011.10.19 17:54

NSCharacterSet * set = [NSCharacterSet characterSetWithCharactersInString:@"-"];

NSString * test = @"2009-11-24";

NSLog(@"stringByTrimmingCharactersInSet:%@", [test stringByTrimmingCharactersInSet:set]);


NSLog(@"stringByPaddingToLength:%@", [test stringByPaddingToLength:4 withString:nil startingAtIndex:0]);// vb left(test, 4)

이 녀석을 이용해서 부분 문자열을 가져 올 수 있습니다.


NSLog(@"rangeOfString location:%d", [test rangeOfString:@"-"].location); // vb instr

NSLog(@"rangeOfString length:%d", [test rangeOfString:@"-"].length);

이 메소드 함수를 이용하면 문자열 내에 부분 문자열의 위치를 확인할 수 있습니다.
문자열이 존재하지 않으면 .length 의 값은 0 입니다.


NSLog(@"substringToIndex:%@", [test substringToIndex:4]);

왼쪽 4 자

NSLog(@"substringWithRange:%@", [test substringWithRange:NSMakeRange(5,2)]);

6번째(인덱스5번)부터 2자

NSLog(@"substringFromIndex:%@", [test substringFromIndex:8]);

9번째(인덱스8번)부터 끝까지


출처 : http://blog.naver.com/gikimirane?Redirect=Log&logNo=130108682495 

저작자 표시
신고
Posted by 그린블로그 DEV그린
2011.10.18 22:11
터미널에서

defaults write com.apple.Finder AppleShowAllFiles YES

위의 커맨드만 입력해준 후 파인더를 프로세스 종료 하고 다시 켜면

숨겨진 폴더들을 볼 수 있습니다.

이걸 해제하려면 똑같은 상황에서

defaults write com.apple.Finder AppleShowAllFiles NO 

를 입력해주시면 됩니다. 
저작자 표시
신고
Posted by 그린블로그 DEV그린
2011.09.29 11:44
 코드로
 색상을 변경하는 방법은 우선 두가지가 있습니다.



//RGB로 직접 입력하는 방법
backGroundColor = [UIColor colorWithRed:(100.0f/255.0fgreen:(100.0f/255.0fblue:(100.0f/255.0falpha:1.0f];




#pragma mark - RGB컬러를 16진수로 변환하는 메소드

- (UIColor *) getColor: (NSString *) hexColor

{

    unsigned int red, green, blue;

    NSRange range;

    range.length = 2;

    

    range.location = 0

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&red];

    range.location = 2

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&green];

    range.location = 4

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&blue];    

    

    return [UIColor colorWithRed:(float)(red/255.0fgreen:(float)(green/255.0fblue:(float)(blue/255.0f)alpha:1.0f];

}

[출처] Xcode RGB값 얻기|작성자 네오로이드

신고
Posted by 그린블로그 DEV그린
2011.09.29 11:43

맥북에어를 사용하면서 아예 없거나 윈도우와 헷갈리는 키들입니다.



홈(Home)키 : command + 왼쪽화살표



엔드(End)키 : command + 오른쪽화살표



델(Del)키
 : fn + delete(백스페이스키)



새로고침
 : command + r



현재 창닫기
 : command + w



어플종료
 : command + q



한자키
 : option + return(엔터키)



한영키
 : command + space



복사
 : command + c



붙여넣기
 : command + v



찾기
 : command + f



파일/폴더 이름 바꾸기
 : 선택 항목을 클릭한 다음 Enter(return)


응답하지 않는 응용 프로그램에서 강제 종료 : command + option + esc


전체화면 캡쳐 : command + control + shift + 3


마우스 범위 캡쳐 : command + control + shift + 4 


신고
Posted by 그린블로그 DEV그린
2011.09.29 11:04

iOS Simulator - Reset Content and Settings... 클릭 후


터미널 - top 명령어로 확인해보면 xxxM free. 의 메모리가 전보다 늘어난 것을 볼 수 있습니다.






터미널 실행 후 (Finder - 응용프로그램 - 유틸리티)


purge 


라는 명령어를 치면 메모리 여유공간이 늘어납니다,

신고
Posted by 그린블로그 DEV그린
2011.09.29 11:00

 새 파일  command + N
저장  command + S
모두 가리기  command + H
 종료하기  command + Q

 편집 모드
되돌리기 command +
자르기 command +
복사 command + 
붙여넣기 command + 
모두 선택 command + 
주석 처리 command + 
영역 들여쓰기 command + [ or
del 키 fn + delete 
한영 변환 command + space 
한자 키 alt + enter (option + return

이동 모드
맨 위로 command + 
맨 아래로 command +
줄 처음으로 command + 
줄 끝으로 command + 

 검색 모드
찾기 command + F
찾고 바꾸기 control + F
다음 찾기 control + G
이전 찾기 shift + G
메소드 보기 control + .
도움말 control + command + ?
정의 이동 control + command + D


메소드
모두 닫기 alt + shift + command +
모두 열기 alt + shift + command + 
한개 닫기 alt + command + 
한개 열기 alt + command + 


창 전환
.h ⇄ .m control + command + 


실행 모드
실행 command + R
정지 command + .
빌드 command + B
신고
Posted by 그린블로그 DEV그린
2011.09.29 10:13

Int 형 변수를 String 형 변수로 변환


NSString *str= [NSString stringWithFormat:@"%d", int변수);



String 형 변수를 Int 형 변수로 변환


int = [str intValue]

신고
Posted by 그린블로그 DEV그린