Facebook Hack – Seoul 간단 참여후기 (1)

2012. 3. 27. Facebook 에서 주최하는 Hack 행사에 참여했습니다. 정확히 세어보진 않았지만 들리는 말에는 약 250여명의 개발자들이 참여했고 대기자도 엄청났지만 장소가 협소해서 더 모시질 못했다고 하더군요. 저는 선조치 후보고로 인해 다행히 참가했습니다. 오전 9시에는 Facebook을 처음 접하는 개발자분들을 위한 Crash Course! 소위 특강이었습니다. 주요 기능들과 함께 용어 배우기, 인증하기, SDK 소개, API 호출 방법 등이 간단히 소개되었습니다. 그 외에 세션들은 아래와 같습니다. Hack 소개에서는 팀 단위로 Social App, Open Graph, Game 세 부분 중 하나를 선택하고 진행한다고 미리 팀을 구성하라고 하더군요. 회사에서 혼자 참여했고 아는 분도 없어서 그냥 Hack 하기 전에 돌아갈까라는 고민도 많았습니다만 밥이라도 먹고 가자라는 생각에 죽치다가 점심을 먹어보고는 저녁도 먹고 가자.. 저녁 먹고는 한 번 해보자! 라고 맘이 시간마다 변해서 Hack까지 참여하고 왔습니다. 우선 Hack 이전에 공유할 정보들을 나열해보겠습니다. 오전에는 세션 순서를 보면 알 수 있듯이 대부분이 개요에 대한 설명이었습니다. 이미 Facebook Documentation에서 언급된 내용들이어서 약간은 실망스러웠습니다. 하지만! 오후 2시 세션인 Native App Development에서는 제 트위터와 페이스북…

SwipeMenuDemo like as iOS Facebook App.

제목 그대로 Path와 Facebook에서 사용하고 있는 SwipeMenu를 만들어보았습니다. 구조는 아주 간단합니다. YBSwipeViewController가 Controller 역할을 하며, 이 인스턴스에는 Menu로 사용될 View Controller와 Content 영역에 사용될 View Controller가 정의되어 있습니다. Touch move될 때 Content View도 함께 움직이며 ended 되었을 때 Menu를 보여줄지 Content를 보여줄지 판단이 되어 애니메이션 블락으로 구현되었습니다. 다른 개발자분들이 만든 예제들도 있었지만 한 번 만들어보자는 생각에 만들어 본 녀석이라 참고만 하셔도 좋습니다. 구조는 데모 코드를 보면 쉽게 이해되시리라 믿습니다. 여기에서 배운 교훈은 1. 하나의 View Controller에 여러 view가 subview 되었을 때는 상단 StatusBar를 터치해도 scroll to top이 되질 않습니다. 따라서 YBSwipeViewController 코드에서 볼 수 있듯이 메뉴 view는 나타나기 전에는 addSubview, 사라졌을 때는 removeFromSuperview가 수행되어야 합니다. iOS5만 지원할 경우에는 childViewController로 쉽게 해결 할 수 있는데 iOS4 지원을 위해서는 삽질(?)을 해야했습니다. 2. Swipe를 위한 GestureRecognizer는 쉽게 생각해서 UISwipeGestureRecognizer를 이용한다고 할 수 있으나, touch move가 되어야 한다면 UIPanGestureRecognizer를 이용하여야 합니다. 즉, Swipe의 요구사항에 따라 적절히 사용해야 합니다. 3. iPhone에서는 메뉴가 나타났을 때 오른쪽으로 걸쳐있는(?) content…

Layer를 이용해 View에 그림자(shadow) 입히기

Layer는 정말 봐도봐도 멋진 녀석인 것 같습니다. 더욱이 Layer는 CPU가 아닌 GPU를 사용하니 프로세서에 큰 부담도 없구요. 요즘 이래저래 Layer 만지는 재미에 빠져있는데요. 간단한 팁입니다. Layer를 이용해서 View에 그림자(Shadow)를 넣는 방법입니다. UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(20.0f, 50.0f, 280.0f, 100.0f)]; UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:testView.bounds]; testView.backgroundColor = [UIColor yellowColor]; [testView.layer setMasksToBounds:NO]; [testView.layer setShadowColor:[[UIColor blackColor] CGColor]]; [testView.layer setShadowOffset:CGSizeMake(0.0f, 0.0f)]; [testView.layer setShadowOpacity:1.0f]; [testView.layer setShadowRadius:3.5f]; [testView.layer setShadowPath:shadowPath.CGPath]; [self.view addSubview:testView]; [testView release]; 그림자 범위를 조절할 때는 Radius 값을 조절하시면 되며, 그림자 위치를 조절할 때는 Offset 값을 조절하시면 됩니다.   오늘은 간단히 끝. =3=33

IT 기자분들 각성 좀 하시죠?

오늘 오전 한 기사를 보고 어이가 없어서 몇 마디 남깁니다. 이투데이에서 발행된 기사이며 제목은 “아이패드3 출시임박?…애플 “앱 해상도 높여라“라는 호기심을 부르게 적었더군요. 네. 낚였습니다. 이 글을 쓴 기자 이름이 없어서 누가 썼는지 알 길이 없으나 박세림 기자분이시군요. 낚시성 기사였습니다. iOS 개발자로 등록하신 분들은 최근 애플의 공지 메일을 받으셨을 것입니다. 내용은 앞으로 앱 등록할 때 스크린샷은 Retina Display 해상도로 올려라. 그리고 20MB 넘는 파일을 3G 환경에서 다운로드 받는 정책 변경에 대한 공지였습니다. 이 공지 중 첫 번째 내용인 Retina Display 해상도로 스크린샷을 업로드 하라는 공지를 분석했다는 것이 아이패드3 출시가 임박했다고 분석을 했네요. 이렇게 공지한 것을 아이패드3 출시가 임박했다고 분석하는 것이 좋을까요? 아니면 이제 Retina Display를 기준으로 앱을 만들어라. 라고 보는 것이 좋을까요? 여러분들은 어떤 생각이신가요? 또한 공지에는 분명히 나와 있습니다. “Required iPhone & iPod touch Screenshot Upgrade for Retina Display” iPad라는 문구가 어디에 있나요? 분석도 넓게 보면 가능하겠지만 위 분석대로라면 나온지 얼마되지도 않은 아이패드2도 죽여버린다는 분석으로 연결되지 않나요? 또한, 기사에는 심각한 오류가…