Facebook SDK 3.1 for iOS 프로젝트에 적용하기

Facebook에서는 iOS6에서 사용가능한 SDK 3.1을 몇 일 전 내놓았다. 이를 적용하기 위한 방법이 Facebook Document에 명시는 되어있지만 상세하게 나와있지 않아 조금 헤메었는데 그에 대한 내용을 적어본다. 우선 Facebook SDK for iOS 를 다운로드 받는다. pkg 파일로 패키징되어 있어 이를 다운로드하여 실행하면 “도큐멘트”에 FacebookSDK라는 디렉토리명으로 저장된다. 다음으로 이를 프로젝트에 포함시킨다. 포함시키는 방법은 FacebookSDK 디렉토리 내에 있는 FacebookSDK.framework를 프로젝트에 드래그 앤 드롭하거나 파일 추가로 포함시키면 된다. 추가적으로 포함시킬 프레임워크가 있는데 이는 “AdSupport.framework”, “Social.framework”, “Accounts.framework”이다. 여기서 첫 번째 문제가 생긴다. AdSupport와 Social은 iOS6에서 추가된 framework로 iOS6 미만 버전에는 없는 framework이다. 따라서 추가할 때는 옵션을 설정하여 준다. 일반적으로 framework를 추가하게 되면 위 화면 오른쪽 끝에서 볼 수 있듯이 “Required”로 설정이 되는데 AdSupport와 Social은 “Optional”로 설정해준다. Deployment Target이 5.0 미만이라면 Accounts 역시 Optional로 설정한다. 그리고 Project의 Build Settings의 Other Linker Flags에 -lsqlite3.0을 추가한다. 다음으로 info.plist에 FacebookAppID와 URL Scheme을 등록해준다. 이는 기존의 방법과 같다. 다음은 AppDelegate의 헤더. 즉, AppDelegate.h에 아래와 같이 헤더와 FBSessionStateChangeNotification을 정의한다. #import <FacebookSDK/FacebookSDK.h>…

트위터 연동 시 직접할 것인가? iOS SDK에 내장된 framework를 이용할 것인가?

iOS5부터는 iOS SDK 자체에 twitter.framework가 추가되어 쉽게 트위터와의 연동이 가능하게 되었다. 하지만 직접 연동하는 방법과 내부 framework를 이용하는 방법 간에 차이가 있다. 구현 복잡도를 생각했을 때, 당연히 내부 라이브러리(Twitter.framework)를 이용하는 것이 간편하다. 더욱이 Twitter 홈페이지에 가서 어플리케이션으로 등록하는 절차도 생략가능하니 얼마나 편한가? 출처가 중요한 데이터일 때, 미세한 차이는 바로 여기에 있다. 복잡도에서 설명했듯이 iOS에 내장된 트위터 프레임워크를 이용할 때 트위터 홈페이지에 가서 어플리케이션을 등록하지 않는다는 사실. 인지하였었나? 직접 연동 시에는 Oauth 특성 상 토큰을 부여받아야 하고 이를 위해서 서버에 어플리케이션 등록 과정을 거치게 되는데 이 과정이 생략되었다는 의미는 누군가 이 과정을 대신해주고 있다는 것이다. 즉, 앱스토어 등록 시스템에서 자동으로 등록한다는 것으로 생각해볼 수 있다. 조금 상세하게 살펴보자. 트위터 API를 연동하면 많은 데이터들이 나온다. 트윗 하나에 이렇게 많은 정보가 담겨있는지 놀란 분도 많을 것이다. (직접 샘플을 보고 싶은 분은 링크를 눌러서 화면 하단에 나타나는 JSON 형태를 보라. 하나의 트윗이다..) 이 정보 중 source라는 것이 있다. 한국말로 설명하자면 출처. 트윗이 작성된 클라이언트…

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

Facebook Hack – Seoul 후기 2편입니다. 1편은 http://y8k.me/?p=289 에서 보실 수 있습니다. 생에 처음으로 참여한 Hackathon 행사여서 준비보다는 참여하는데 의의를 두자고 생각하고 도전해봤습니다. 행사장에서 친해진 황인서님과 쉬는 시간마다 이런저런 아이디어를 짜내다가 Facebook 의 새로운 feature인 Open Graph 로 targeting을 하고 어떤 컨텐츠로 해볼까 저녁을 먹으면서 논의를 하고 확정을 했습니다. 둘 다 Observer로 갔다가 의지에 불타올라 참여까지 한 상황이었죠.. 황인서님은 알고봤더니 목욕의 신 앱을 개발한 멤버더군요. +ㅁ+b 이 게임을 이용해볼까 고민하다가 Action Type을 다중화하기가 어렵다는 결론이 도출되어 평소 고민이 많았던 ‘아임인핫스팟‘ 을 이용해보기로 결정하였습니다. 아직 Open API를 제공하고 있진 않지만 Client를 구현했던 프로젝트이어서 API를 알고 있었고 Action을 다양하게 설정할 수 있다는 점이 선택하게 된 가장 큰 장점이었습니다. 회사 프로젝트 담당PM님에게 허락을 득하고 API 담당 개발자분께 자문을 구하는데까지 성공! (낙정PM님 경환PD님 감사합니다!) 결정 이후에는 이런저런 잡담을 나누면서 맛난 저녁 식사를 했습니다. (아래 사진) 늦은 점심 후에 이른 저녁식사라 많이 먹진 못했지만 신선한 참치회와 초밥, 그리고 다양한 음식들로 등록비 25$는 충분히 보상받았구나!! 라는 느낌을…

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에서는 제 트위터와 페이스북…