【发布时间】:2012-07-09 12:16:11
【问题描述】:
我已经看了好几个星期的教程,找不到任何在 iOS 中实现 FB 的故事板示例。
我让我的应用打开 FLoginscreen,请求用户对应用进行身份验证,然后返回应用... 像其他一些用户一样,不调用 fbdidlogin 和 handleopenurl 方法。我确定我做错了什么,但只是不知道是什么。 我在故事板中使用默认视图控制器(我没有以编程方式创建 vc ) 所以我可能需要做点什么。
据我了解,handleopenurl 方法需要在我的应用程序 delegate.m 文件中,而不是在我的视图 controller.m 文件中,但我不确定它应该如何编写以及如何连接我创建的 UIViewController 对象我故事板中的 VC(我正在使用的带有按钮和标签的那个)。
ViewController.h (relevant to FB)
#import "FBConnect.h"
@interface ViewController : UIViewController
<UIImagePickerControllerDelegate,
UINavigationControllerDelegate, FBSessionDelegate, FBDialogDelegate>
{
Facebook *facebook;
}
@property (nonatomic,retain) Facebook *facebook;'
ViewController.m (relevant to FB)
#import "ViewController.h"
@implementation ViewController;
@synthesize facebook;
-(void)LogintoFB
{
facebook = [[Facebook alloc] initWithAppId:@"345872345487883" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
[facebook authorize:nil];
NSLog(@"did log in");
}
}
// Pre iOS 4.2 support
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
NSLog(@"-4.2 got calleld");
return [facebook handleOpenURL:url];
}
// For iOS 4.2+ support
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"4.2+ got called");
return [facebook handleOpenURL:url];
}
}
- (void)fbDidLogin {
NSLog(@"fbDidLogin");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
[facebook dialog:@"feed" andDelegate:self];
}'
另外,如果您可以指导我阅读在 iOS 中实现 Facebook 时使用故事板的教程,那就太好了。
谢谢!
【问题讨论】:
标签: ios xcode facebook sdk storyboard