Iphone 如何在对话框而不是Safari网页中进行Facebook身份验证

Iphone 如何在对话框而不是Safari网页中进行Facebook身份验证,iphone,ios,facebook,Iphone,Ios,Facebook,当一个iPhone应用程序使用Facebook连接时,我遵循SSO指南(http://developers.facebook.com/docs/guides/mobile/)但我讨厌SSO将我发送到Safari页面。我想改为在对话框中进行身份验证 请告诉我你是否遇到过同样的问题。谢谢。在Facebook.m中,您需要更改以下代码: - (void)authorize:(NSArray *)permissions delegate:(id<FBSessionDelegate

当一个iPhone应用程序使用Facebook连接时,我遵循SSO指南(http://developers.facebook.com/docs/guides/mobile/)但我讨厌SSO将我发送到Safari页面。我想改为在对话框中进行身份验证


请告诉我你是否遇到过同样的问题。谢谢。

Facebook.m
中,您需要更改以下代码:

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate {

    [_permissions release];
    _permissions = [permissions retain];

    _sessionDelegate = delegate;

    /*  safariAuth should be NO  */
    [self authorizeWithFBAppAuth:NO safariAuth:NO];

    /*
         authorizeWithFBAppAuth: will launch the Facebook App
         safariAuth: will launch Mobile Safari

         When both of these are set to NO, the Facebook Login
         Dialog will appear inside of your app.
     */
}
-(void)授权:(NSArray*)权限
委托人:(id)委托人{
[_权限释放];
_权限=[权限保留];
_sessionDelegate=委托;
/*safariAuth不应该是*/
[通过FBAppAuth自授权:无safariAuth:无];
/*
authorizeWithFBAppAuth:将启动Facebook应用程序
safariAuth:将推出移动Safari
当这两个都设置为否时,Facebook登录
对话框将出现在您的应用程序中。
*/
}

完美!谢谢你的回答。