在我的 Rails 应用程序中,用户登录使用 Facebook。它工作得很好。
现在我计划为我的 Rails 应用程序开发一个 iOS 应用程序(UIWebView app
)。即在 WebView 中加载我的网站。
我担心的是我应该只拥有 one view controller
加载网站或two view controllers
, 第一个使用 iOS FB SDK
的 native FB 登录和其他 Controller 来加载网站?
目前我尝试使用一个 Controller ,当我点击 Login using Facebook
时(在网站上)在 iOS 应用程序中,Facebook 登录在 safari 中打开,输入凭据后无限期出现空白页面。
最佳答案
您好,您可以使用一个 View Controller 吗?对于使用 Facebook 登录,您可以引用本教程。 integrate login with facbook
重要步骤
第 1 步:在开发者应用上创建 Facebook 应用并配置您的 info.plist 文件
第 2 步:登录操作代码
- (IBAction)signInWithFacebookClicked:(id)sender {
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile",@"email",@"user_friends"]
allowLoginUI:YES
completionHandler:
^(FBSession *session, FBSessionState state, NSError *error) {
// The session is open. Get the user information and update the UI.
[FBRequestConnection startWithGraphPath:@"me"
parameters:@{@"fields": @"first_name,last_name, email"}
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
// Set the use full name.
NSLog(@"FBresponse: =>%@",result);
}
else{
NSLog(@"%@", [error localizedDescription]);
}
}];
}];
}
第三步:处理回调
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Handle the user leaving the app while the Facebook login dialog is being shown
// For example: when the user presses the iOS "home" button while the login dialog is active
[FBAppCall handleDidBecomeActive];
}
第 4 步:然后根据您的要求处理 FBSession block 。 希望这会有所帮助。
关于ios - 在 UIwebView 应用程序中使用 Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327089/