Facebook Like Button - 无法使用新功能FBLikeControl构建存档

时间:2014-06-03 06:51:04

标签: ios xcode facebook ios7 facebook-like

我希望像Facebook一样整合Facebook和新功能FBLikeControl。在Facebook页面上,他们写的只是用于开发而不是在AppStore上发布。

以下是来自facebook https://developers.facebook.com/docs/ios/like-button/

的教程

当我想用我的代码构建存档时,我收到错误消息"使用未声明的标识符FBBetaFeaturesLikeButton"。

有没有办法解决这个问题,或者是否有其他替代解决方案,我将不胜感激。

这是我的代码:

[FBSettings enableBetaFeature:FBBetaFeaturesLikeButton];
[FBSettings enablePlatformCompatibility:NO];

FBLikeControl *like = [[FBLikeControl alloc] init];
like.frame = CGRectMake((self.frame.size.width-like.frame.size.width)/2, facebookY, 60, 20);
like.objectID = @"https://www.facebook.com/pages/abcdefgh/123456789?ref=tn_tnmn";
[self addSubview: like];

1 个答案:

答案 0 :(得分:0)

  1. link说:

      

    FBLikeControl是一种预览功能,可能无法部署到应用程序   商店。只有您的Facebook应用程序的开发人员和测试人员才能使用   使用Like按钮。

    是您无法构建档案的原因。

  2. 有几种方法可以实现,对我有用的方法如下:

    [FBRequestConnection startWithGraphPath:@"/object-id_to_like/likes" 
                             parameters:nil
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    // Handle error here
    }];
    

    Here is the Link

  3. 编辑:这很简单,只需用上面的方法调用将object-id_to_like替换为实际的post-id / object-id,就可以替换项目中的FBLikeControl代码。该方法的作用是在相应的对象/帖子上发布类似的东西。

    如果您在获取对象/帖子的对象ID时遇到问题,可以使用相同的方法获取它,并将HTTPMethod参数设置为@“GET”。以下代码将返回您的时间轴中的帖子:

        [FBRequestConnection startWithGraphPath:@"/me/home"// you can change this to @"/me/feed" if required
                                     parameters:nil
                                 HTTPMethod:@"GET"
                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error ) {
                              if (!error){
                                  // Fetch Post-id/Object-id here
                              }else{
                                  // handle error here
                              }
                          }];