由于Facebook SDK每个小时都会发生变化,因此很难获得适用于当前SDK版本的实际教程..有些更改是激进的!iPhone Facebook SDK - 将照片从您的应用上传到Facebook
我想上传一张照片......但问题是我的FBSessionDelegate方法“fbDidLogin”永远不会被调用。我登录时,我们回到应用程序,但没有发生:/
我想有一个与我的会议代表了一个问题:/
在这个新的SDK的主要变化是关于委派......你设定该委托曾经在视图中加载而不是设置它[Facebook授权:权限委托:自我];
伊夫试图与发现视频(教程):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];
}
是的,我明白了!但我必须用另一种方式!现在我分享照片作为应用程序的相册,所以Facebook让我上传Facebook相册上的照片,而不是共享一个“我可以做到这一点的文章”,但我将不得不上传我的图像在FTP上然后将图像链接为显示图片。明白吗? :P – Marc