iOS에서 SQLite3 사용하는 방법 (Objective-C)

Swift3 버전에 대한 SQLite3 사용법은 이 포스트를 참고하시라. 예전에 쓴 글이 있기는 하지만, 그냥 요리법처럼 쓴 글이기도 하거니와 소스코드에서 뭔가 글자가 빠지는 등(syntax highlighter를 안써야 겠지만 기존 글 고치기가 귀찮아…) 문제가 많아 내용을 보충해서 다시 작성. 애플은 SQLite3를 직접 인터페이스하는 것보다는 코어데이터를 사용하라고 권장하고 있고, (실제로 있다가 빠진 것인지는 알 수 없으나 그런 주장을 하는 사람들이 종종 있다) 애플 개발자 문서에서도 관련 내용을 내렸다고 한다. (하지만 이는 사실이 아닐 거라 생각한다. 왜냐면 iOS에서 SQLite3를 인터페이스 하는 부분은 전적으로 libsqlite3를 사용하는

iOS 앱의 구조

아이폰 앱 강좌를 검색하다보면 IB없이 만들기와 관련된 강좌가 상당히 많다. 즉 인터페이스 빌더 없이 모든 UI를 코드로 제어하는 형태로 앱을 개발하는 방법이다. 초보자에게는 추천하기 어렵고 또한 이렇게 코드로 UI를 구성하면 준비해야 하는 코드가 상당히 많아지는데, nib 파일로부터 객체가 생성되는 부분 특히 이렇게 어디선가 갑자기 툭 튀어나오는 객체들을 어떻게 처리해야 할지에 대해서는 좀 난감한 부분들이 있다보니 nib 파일을 사용하지 않는 방식으로 개발을 많이 하고 있는 것 같다. 그래서 오늘은 iOS앱의 구조에 대해 잠시 살펴보도록 하겠다. 분명 IB, 즉 nib 파일을 사용하는

[iOS] 아이콘의 자동 광택 효과 제거하기

iOS에서는 앱의 아이콘에 대해서 자동으로 모서리를 둥글게 잘라내고 광택 효과를 입혀주지만, 경우에 따라서는 아이콘의 광택 효과를 원하지 않을 수도 있다. 앱의 기본 Info.plist 파일 (앱이름-Info.plist로 Supporting FIles 폴더에 있음)을 열고, 키를하나 추가해준다. 키 이름, 타입, 값은 다음과 같다. Icon already includes glossy effects : boolean : YES (I자만 치면 자동으로 나타남) 이제 앱을 빌드해서 시뮬레이터에서 광택효과가 없이 matte하게 표시되는 아이콘을 볼 수 있을 것이다. *Xcode4에서는 이미 타겟 세팅에서 체크만 하면 된다. 앱 아이콘 끌어다 놓는 부분 오른쪽에 있으니 잘 찾아본다.

iOS에서 메일 작성 화면을 통해 메일 보내기

메일 보내기 앱 내에서 메일을 보내려면 MFMailComposeViewController 클래스를 사용한다. 물론 mailto 방식의 URL을 보내어 메일 앱을 실행하는 방법도 있지만 앱 내에서 메일을 작성해서 보내기 위한 방법으로는 이를 사용한다. 이를 활용하기 위해서는 MessageUI.framework 를 연결해야 하고 <MessageUI/MessageUI.h> 파일을 임포트해야 한다. 주소록에서 이메일을 받기 위해서는 주소록의 ABPeoplePickerViewController를 사용해야 한다. 다음은 예시 @implemetation WritingMyMailViewController(MailMethods) -(void)displayComposerSheet { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; [picker setSubject:@”Hello from California!”]; // 수신자 설정 NSArray *toRecipients = [NSArray arrayWithObjects:@”fistst@example.com”, nil]; NSArray *ccRecipients = [NSArray arrayWithObjects:@”second@example.com”,

[팁] 아이폰에 설치된 폰트 확인하기

이 내용은 절대적으로 필요한 내용은 아니지만, 아이폰에 들어있는 폰트들의 이름을 fast enumeration을 통해 표시하는 간단한 코드 -(void) enumerateFonts { for (NSString *familyName in [UIFont familyNames]) { NSLog(@”font family = %@”, familyName); for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@”\t%@”,fontName); } } }