2011년 4월 14일 목요일

[Iphone]https로 접근 시 SSL 무시하기

@interface NSURLRequest (IgnoreSSL)

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;

@end

@implementation NSURLRequest (IgnoreSSL)

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host
{
return YES;
}

#end

2011년 3월 22일 화요일

[Iphone]테이블뷰 그룹일 경우 백그라운드 설정하기

UIView *backgroundView = [[UIView alloc] initWithFrame: self.view.frame];
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundImg.png"]];
self.tableView.backgroundView = backgroundView;
[backgroundView release];

2011년 3월 17일 목요일

[Iphone]urlEncoding, urlDecoding 함수

+ (NSString *)urlEncodeValue:(NSString *)str
{
NSString *result = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)str,
NULL,
CFSTR(":/?#[]@!$&’()*+,;="),
kCFStringEncodingUTF8);
return [result autorelease];
}

+ (NSString *)urlDecodeString:(NSString *)str
{
NSString *result = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
(CFStringRef)str,
CFSTR(""),
kCFStringEncodingUTF8);
return [result autorelease];
}

[Iphone]Array 파일로 저장

Settings.plist는 Resources 폴더에 미리 가지고 있어야 함.

- (void)saveRecents:(NSMutableArray *)recents {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Setting.plist"];

[recents writeToFile:path atomically:YES];
}

- (NSMutableArray *)loadRecents {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Setting.plist"];

return [NSMutableArray arrayWithContentsOfFile:path];
}

[Iphone]텍스트 필드의 길이 제한

UITextFieldDelegate 상속

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if(textField.text.length >= 20 && range.length == 0) {
return NO;
} else {
return YES;
}
}

2011년 3월 16일 수요일

[Iphone]단말에서 어플리케이션 실행 방법

1. App Developer 사이트에 단말기의 UDID 등록
2. Provisioning Profile에 단말기의 UDID 체크
3. Provisioning Profile을 다운로드 받아서 그 프로파일을 이용해서 빌드 후 배포

[Iphone]디바이스 모델 얻어오기 및 각종 정보 얻어오기

+ (NSString *)getDeviceModel {
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine];

free(machine);
return platform;
}

+ (NSString *)getOsName {
return [[UIDevice currentDevice] systemName];
}

+ (NSString *)getOsVersion {
return [[UIDevice currentDevice] systemVersion];
}