[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); } } }

[iOS] 간단한 시계 만들기

심심해서 만들어보는 아날로그 시계 꼭 심심해서라기보다는 코어그래픽 예제 쯤으로… 사실 이렇게 노가다로 그림 그리는 앱을 별로 만들어보지는 못한 것 같아서 시작해본다. 만들고자 하는 앱은 아날로그 시계이며, 유형을 꼭 선택하라면 Pie Clock 쯤 되겠다. 즉, 시/분/초를 나타내는 파이 그래프를 중첩하여 현재 시간을 표현하는 것이다. 이는 의의로 상당히 간단하게 표현할 수 있다.

[Cocoa] 코어데이터를 수동으로 적용하기

코어데이터 코어데이터 코어데이터. 쉽지도 않은 내용인데 이 블로그에서 최근에 코어데이터를 지긋지긋하게 많이도 다루는 것 같다. ㅠㅡㅠ 하지만 언젠가는 피가되고 살이될 코어데이터에 대한 내용이다. 이미 “간단한” 저장은 아주 손쉽게 Keyed Archiver를 사용하여 인코딩한 객체를 파일로 바로 저장하는 것은 살펴보았다. 하지만 만약, 저장한 주소록에 사람이 수백만명이라면 엄청나게 많은 데이터가 앱이 실행될 때 한번에 메모리로 로드되어 올라갈 것이다. (이것이 아카이빙으로 내용을 저장할 때의 한계이다. 많은 데이터는 결국 한 번에 로딩해서 안고 있어야 하는 부담이 있다.)

[UIKit] UIView를 이미지로 캡쳐하기, UIImage를 파일로 만들기

NSView를 이미지로 캡쳐할 때는 뷰의 영역에서 이미지 데이터를 바로 추출하는 방식을 사용한다. 때문에 NSBitmapImageRep의 -initWithFocusedViewRect: 메소드를 사용한 후 -presentationUsingType:properties: 를 사용하여 각 그래픽 포맷에 맞는 데이터를 얻을 수 있었다. (아니면 바로 TIFFRepresentation을 사용하여 데이터를 얻고 이를 이미지로 만들어도 된다.) 아이폰에서는 NSBitmapImageRep가 없어서 이 방법을 사용할 수 없다. 대신에 이미지를 그래픽 컨텍스트에서 얻을 수 있다는 점을 이용하여 다음과 같은 방법을 쓸 수 있다. -(UIImage*)captureView:(UIView *)theView { UIGraphicsBeginImageContextWithOptions(theView.bounds.size, theView.isOpaque, 1.0); ; UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext(); return UIImage; } 그럼 UIKit에서 이미지를 파일로