iOS6에서 openURL로 facebook 링크 열기

 지난 포스팅에서 iOS Native App에서 URL로 웹 링크를 사파리를 통해 열수 있는 것을 정리했었습니다. 근데 이게 최신 iOS 6.x에서는 문제가 발생하더군요. iOS 6.x에서는 페이스북이 iOS에 통합이 되면서 생긴 문제인데 증상은 그 어떤 링크를 줘도 자신의 페이스북 페이지가 열린다는 것이죠.

 원하는 페이스북 페이지를 사파리로 열려면 페이스북 문자열 주소대신에 숫자로된 유니크한 id로 해주면 됩니다. 특정 페이스북 페이지의 id를 알아낼려면 http://graph.facebook.com/myfacebookurl 이런식으로 myfacebookurl에 알고싶은 페이스북 주소를 넣어주시면


{
   "id": "xxxxxxxxxxxxxxxxxxxx",
   "name": "xxxx xxx xxx",
   "first_name": "xxxx xxx",
   "last_name": "xxx",
   "link": "http://www.facebook.com/xxxxxxxxxxx",
   "username": "xxxxxxxxxxx",
   "gender": "male",
   "locale": "ko_KR"
}

 이런식으로 정보가 나옵니다. 여기서 "id" 값에 있는 숫자로 처리하면 되는것이죠.


NSURL* url = [[NSURL alloc] initWithString:@"http://www.facebook.com/1234567890"];
[[UIApplication sharedApplication] openURL:url];


 그러면 iOS 6.x에서도 잘 되고, 그 이하 iOS에서도 잘 됩니다.

 이런걸보면 SDK나 OS버전에 따른 개발 이슈가 안드로이드만 욕할게 아니라는 걸 느끼네요. 물론 정도의 차이는 있습니다.

 참고
http://barelyrelevant.wordpress.com/2012/10/02/ios6-and-facbook-urls-not-opening-correctly-in-facebook-app/

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.