【发布时间】:2012-12-18 13:38:19
【问题描述】:
我使用 parse framework 与我的应用程序完成 Facebook 集成,所以我如何添加注销按钮以及对用户的权限下面提到的图像是我的应用程序屏幕短以及我如何获得 好的我的代码中的按钮按下事件..?
【问题讨论】:
标签: iphone facebook ios6 ios-simulator xcode4.5
我使用 parse framework 与我的应用程序完成 Facebook 集成,所以我如何添加注销按钮以及对用户的权限下面提到的图像是我的应用程序屏幕短以及我如何获得 好的我的代码中的按钮按下事件..?
【问题讨论】:
标签: iphone facebook ios6 ios-simulator xcode4.5
登录
在您的应用委托中,这些行应该存在:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Parse setApplicationId:@"YOUR_APPLICATION_ID"
clientKey:@"YOUR_CLIENT_KEY"];
[PFFacebookUtils initializeWithApplicationId:@"YOUR_FB_APP_ID"];
// Override point for customization after application launch.
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [PFFacebookUtils handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [PFFacebookUtils handleOpenURL:url];
}
这将确保解析在启动时初始化并与您的 Facebook 应用程序连接。底部的两种方法使您的应用能够启动屏幕以登录 facebook 并请求权限。为了向用户实际呈现该屏幕,只需要一个按钮,该按钮调用与此类似的方法:
-(IBAction)facebookLoginButtonPressed:(id)sender {
[self loginWithFacebook];
}
-(void)loginWithFacebook {
NSArray *permissionsArray = @[@"publish_actions", @"email", @"user_location"];
// Login PFUser using Facebook
[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
if (!user) {
if (!error) {
NSLog(@"Uh oh. The user cancelled the Facebook login.");
} else {
NSLog(@"Uh oh. An error occurred: %@", error);
}
} else {
[self performSegueWithIdentifier:@"loginToFeed" sender:self];
}
}];
}
您不应该需要事件回调,当[PFFacebookUtils logInWithPermissions:block:] 返回时,它将执行您提供的块,使您能够继续到不同的ViewControllers 或显示不同的功能。
退出
将按钮添加到您想要控制注销的任何视图。然后为该按钮添加一个IBAction 方法:
-(IBAction)logOutButtonPressed:(id)sender {
[PFUser logOut];
NSLog(@"User logged out!");
[self dismissViewControllerAnimated:YES completion:^{}];
}
【讨论】: