add Framework - systemConfiguration
User Header Search Paths - *.h 주소 추가
deployment Target 4.3(개인사항)
other linker Flags -all_load -ObjC
add Framework - systemConfiguration
User Header Search Paths - *.h 주소 추가
deployment Target 4.3(개인사항)
other linker Flags -all_load -ObjC
purgeIdleCellConnections: found one to purge conn = 0x5f15c0
iOS6업데이트 이후 콘솔에 이게 자꾸 찍힌다.
검색 결과 다음과 같은 답을 얻었다
통신상태가 좋지 않을 때 OS 레벨에서 발생하는 에러
이게 많이 불리게 되면 crash로 앱이 죽을 수도 있다고 함.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"file.txt"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path] == NO) { // 파일 존재 유무 확인
if ([fileManager createFileAtPath:path contents:nil attributes:nil] == NO) { // 파일 생성 성공 여부 확인
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Fail" message:@"File Create Failed" delegate:self cancelButtonTitle:@"Comfirm" otherButtonTitles:nil];
[alert show];
[alert release];
return ;
}
}
/Users/본인피씨이름/Library/Application Support/iPhone Simulator/iOS개발버전/Applications/개발프로젝트ID
10.6 이전 버전은 위의 경로로 바로 이동 가능
10.7 이후 버전은 파인더 > 메뉴 > option 키를 누르면 라이브러리 표시 됨
이때 이동 가능
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Message" delegate:self cancelButtonTitle:@"Comfirm" otherButtonTitles:nil, nil];
[alert show];
[alert release];
# simulator일 경우
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"확장자"];
NSError *error = [[NSError alloc] init];
NSString *data = [[NSString alloc] initWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error];
xxx.h
@protocol delegate명;
@property(nonatomic, retain) id<delegate명> delegate;
맨 밑에
@protocol delegate명 <NSObject>
- (void)delegate_method:(returnType)variable;
@end
xxx.m
@synthesize delegate=_delegate;
[_delegate release];
- (id)initWithDelegate:(id<delegate명>)delegate {
self = [self init];
if(self) {
[self setDelegate:delegate];
}
}
delegate보낼 method 안에는
if([self.delegate respondsToSelector:@selector(delegate_method명:)]) {
[self.delegate delegate_method명:variable];
}
delegate 구현
- (void)delegate_method:(returnType)variable {
NSLog(@"%@", variable);
}
LongTab & multiTab & tapCount을 인식 및 처리하기 위해서는 touch method를 써야 한다.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
: 터치가 처음 일어날때 호출
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
: 터치가 끝났을 때 호출
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
: 터치 한 상태에서 이동 했을 때 호출
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
: 터치 이벤트가 시스템에 의해 취소될 때
if ([[UIScreen mainScreen] respondsToSelector:@selector(brightness)]) {
[[UIScreen mainScreen] setBrightness:1.0]; // 밝기 최대로
}
[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; // 슬립모드 돌입 막기
# 밝기 조절은 iOS5부터 지원한다.
만약 iOS4 버전부터 테스트할 경우라면 respondsToSelector를 활용하여 실행해야 한다.
- sqlite3_open() - 특정 데이터베이스 파일을 연다. 데이터베이스 파일이 존재하지 않으면 생성한다.
- sqlite3_close() - 오픈되어 있는 데이터베이스 파일을 닫는다.
- sqlite3_prepare_v2() - 실행을 위해 SQL 문장을 준비한다.
- sqlite3_step - sqlite3_prepare_v2() 함수에 의해 준비된 SQL 문장을 실행한다.
- sqlite3_column_<type>() - SQL추출 명령에 의한 결과에서 데이터 부분을 리턴한다. <type>은 추출될 데이터의 형이다.(text, blob, bytes, int, int16 등)
- sqlite3_finalize() - 메모리에서 준비된 SQL 문장을 제거한다.
- sqlite3_exec() - sqlite3_prepare_v2(), sqlite3_step(), sqlite3_finalize()함수를 하나의 함수 호출로 대체한다.