facebook모듈에서 .authorize() 를 실행할때 forceDialogAuth : false 옵션을 줘도 ios 6부터 제공되는 Single-Sign-On (SSO)이 정확히 작동하지 않는것 같습니다.
아이폰의 설정에서 어떤 아이디로 페이스북에 로그인되어 있던지 상관없이 사파리에서 페북에 로긴되어 있는 아이디로 .authorize()가 인증을 시도하네요.
To use iOS 6’s built-in Facebook login, some changes may be required of your application. iOS 6 does not support having required permissions of offline_access and any write access. Furthermore, Facebook’s native SDK makes the old login auth and using iOS 6’s login mutually exclusive options. In other words, the following must happen to use iOS 6’s built-in facebook login:
When registering your Facebook application, the bundle ID must match the Titanium project’s app ID. See instructions below.
The device must be running iOS 6.
Enable the Facebook login on your iOS 6 device: Enter your credentials in Settings > Facebook.
The forceDialogAuth property MUST be false.
The permissions property MUST NOT contain any of the following: offline_access, publish_actions, publish_stream, publish_checkins, ads_management, create_event, rsvp_event, manage_friendlists, manage_notifications, or manage_pages
Use the reauthorize method to request write permissions if needed.
그 중에서 눈여겨 볼만한 부분이 SSO 이용하려 offline_access, publish_actions, publish_stream, publish_checkins, ads_management, create_event, rsvp_event, manage_friendlists, manage_notifications, or manage_pages 이 권한을 포함하면 안된다는 거죠. SSO를 꼭이용하고 싶은데 이 권한들이 필요하다면 나중에 reauthorize 함수를 이용해서 다시 요청하면 됩니다.