从另一个viewcontroller调用位于Facebook sdk上的函数

时间:2012-07-22 02:13:59

标签: ios facebook sdk viewcontroller

我在编程方面很陌生,所以请不要把我烧得太糟糕。我为Facebook下载了Hackbook版本。但是,我有许多视图控制器将使用'share this'按钮,但我不知道该怎么做。我知道我想使用现有的功能。

@implementation ViewConcertsViewController
...

-(IBAction)shareThis:(id)sender{
[appDelegate.facebook authorize:nil delegate:self];
                APICallsViewController *apiViewController = [[APICallsViewController alloc] initWithNibName:nil bundle:nil];
                [apiViewController shareButton];
}

然后在我的APICallsViewController中,我有:

-(void)shareButton{
[self performSelector:@selector(//what do I put in here!!!!)];
}

提前谢谢。

这就是我所做的:

@implementation ViewConcertsViewController
...
-(IBAction)shareThis:(id)sender{
    APICallsViewController *apiViewController = [[APICallsViewController alloc] initWithNibName:nil bundle:nil];
    [apiViewController shareButton:sender];
}


@implementation APICallsViewController
...
-(void)shareButton:(id)sender{
    SEL selector = NSSelectorFromString(@"getAppUsersFriendsNotUsing");
    if ([self respondsToSelector:selector]) {
        [self performSelector:selector];
    }
}

谢谢。

1 个答案:

答案 0 :(得分:1)

看起来您只需要更改APICallsViewController中Hackbook Sample中的方法。


/*
 * Dialog: Feed for friend
 */
- (void)apiDialogFeedFriend:(NSString *)friendID {
    currentAPICall = kDialogFeedFriend;
    SBJSON *jsonWriter = [[SBJSON new] autorelease];

    NSArray* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:
                                                           @"Get Started",@"name",@"http://m.facebook.com/apps/hackbookios/",@"link", nil], nil];
    NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
    // The "to" parameter targets the post to a friend
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   friendID, @"to",
                                   @"I'm using the Hackbook for iOS app", @"name",
                                   @"Hackbook for iOS.", @"caption",
                                   @"Check out Hackbook for iOS to learn how you can make your iOS apps social using Facebook Platform.", @"description",
                                   @"http://m.facebook.com/apps/hackbookios/", @"link",
                                   @"http://www.facebookmobileweb.com/hackbook/img/facebook_icon_large.png", @"picture",
                                   actionLinksStr, @"actions",
                                   nil];

    HackbookAppDelegate *delegate = (HackbookAppDelegate *)[[UIApplication sharedApplication] delegate];
    [[delegate facebook] dialog:@"feed"
                      andParams:params
                    andDelegate:self];

}

但是如果你想发送一个AppRequest(与webpare上的分享按钮不同),那么结账 - (void)apiDialogRequestsSendTarget:(NSString *)friend

那么你想分享什么?状态更新,照片,URL链接,Facebook应用程序请求。很多人要分享,所以很难知道你想去哪里。 [LIMK] http://developers.facebook.com/docs/reference/iossdk/request/。和她的[link] http://developers.facebook.com/docs/reference/dialogs/有7个默认的一两行代码来分享东西

目前有7个Dialog可供您使用:

** - Feed对话框允许用户将故事发布到他们的时间轴和他们朋友的新闻源

- OAuth对话框允许用户将应用程序授权为身份验证流程的一部分。

- 添加页面选项卡对话框允许用户将应用程序添加到他们管理的Facebook页面。

- “好友”对话框允许用户向其他用户发送好友请求。

- 支付对话框允许用户使用Facebook Credits进行购买。

- 请求对话框允许用户向他们的一个或多个朋友发送请求

- 发送对话框允许用户向他们的一个或多个朋友发送Facebook消息。 **

但是,如果您可以提供有关任务的更多详细信息,则可以更轻松地提供帮助和示例。 我的expierence在xcode中设置应用程序项目使用fb sdk和来自苹果和Facebook的自定义应用程序ID是困难的部分。我非常推荐从头开始一个Xcode项目。这将需要更多,但一旦你设置一个应用程序从开始登录并通过FBRequest获得朋友数据,你将能够非常快速地移动。

从示例应用程序开始,您将始终在后台进行操作,无法修复或改进或真正使用您想要的API。