Поскольку Facebook SDK меняется каждый час, трудно получить реальное руководство, которое работает с текущей версией SDK ... некоторые изменения радикальны !!!
Я пытаюсь загрузить фотографию ...но ПРОБЛЕМА - это мои методы FBSessionDelegate "fbDidLogin" никогда не вызывается.Я вхожу в систему, возвращаюсь к приложению, но ничего не происходит: /
Я думаю, что есть проблема с моим делегатом сессии: /
Основное изменение в этом новом SDK касается делегата... Вы устанавливаете делегата один раз в представлении, загруженном вместо того, чтобы установить его [facebook authorize: делегат полномочий: self];
Я попытался с видео (учебное пособие) найдено: http://developers.facebook.com/blog/post/532/
Это мой .H
#import "Facebook.h"
@interface sampleClass : UIViewController
<FBSessionDelegate, FBRequestDelegate> {
Facebook * facebook;
}
@property (strong, nonatomic) Facebook * facebook;
- (IBAction)uploadPhoto:(id)sender;
А это мой .M
- (void)viewDidLoad {
[super viewDidLoad];
facebook = [[Facebook alloc] initWithAppId:kAppId andDelegate:self];
}
- (IBAction)uploadPhoto:(id)sender {
NSArray* permissions = [[NSArray alloc] initWithObjects:
@"offline_access", @"publish_stream", nil];
[facebook authorize:permissions];
}
#pragma mark - Facebook Session Delegate Methods
- (void)fbDidLogin {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mov"];
NSData *videoData = [NSData dataWithContentsOfFile:filePath];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
videoData, @"video.mov",
@"video/quicktime", @"contentType",
@"Video Test Title", @"title",
@"Video Test Description", @"description",
nil];
[facebook requestWithGraphPath:@"me/videos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
}
-(void)fbDidNotLogin:(BOOL)cancelled {
NSLog(@"did not login");
}
#pragma mark - Facebook Request Delegate Methods
- (void)request:(FBRequest *)request didLoad:(id)result {
if ([result isKindOfClass:[NSArray class]]) {
result = [result objectAtIndex:0];
}
NSLog(@"Result of API call: %@", result);
}
- (void)request:(FBRequest *)request didFailWithError:(NSError *)error {
NSLog(@"Failed with error: %@", [error localizedDescription]);
}
#pragma mark - Support SSO for Facebook
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [self.facebook handleOpenURL:url];
}